Создавая api в node я получаю ошибку: bodyparse is not defined

Я создаю API в node, но получаю следующую ошибку:

app.use(bodyParser.urlencoded({ extended: false }));  
        ^
ReferenceError: bodyParser is not defined
    at Object.<anonymous> (/home/keily/code/node-api-rest-example/app.js:7:9)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

Восток - мой app.js:

var express  = require("express"),  
    app      = express(),
    http     = require("http"),
    server   = http.createServer(app),
    mongoose = require('mongoose');

app.use(bodyParser.urlencoded({ extended: false }));  
app.use(bodyParser.json());  
app.use(methodOverride());

var router = express.Router();

router.get('/', function(req, res) {  
   res.send("Hello World!");
});

app.use(router);

mongoose.connect('mongodb://localhost:27017/tvshows', function(err, res) {  
  if(err) {
    console.log('ERROR: connecting to Database. ' + err);
  }
  app.listen(3000, function() {
    console.log("Node server running on http://localhost:3000");
  });
});
3
задан 22.03.2016, 18:26
1 ответ

Node - javascript и в javascript все переменные должны быть объявленными, что он это включает в них mГіdulos тебя aplicaciГіn. bodyParser один mГіdulo как любой другой asГ - что ты должен объявлять это с var и загружать mГіdulo require . Та же ошибка дает тебе отпечаток, потому что - типа ReferenceError

Объект ReferenceError, представляет ошибку, когда ссылаются на переменную, которая не существует.

, Чтобы это решать, пишет:

var express    = require("express"),  
    app        = express(),
    http       = require("http"),
    server     = http.createServer(app),
    // ya tienes un identificador llamado bodyParser y en el cargas el módulo
    bodyParser = require('body-parser'),
    mongoose   = require('mongoose');

Имей в виду, что mГіdulo, что ты пробуешь нагрузить, ты это устанавливаешь с npm обычно с командой

npm install body-parser

а следовательно этот находится в папке node_modules и, следовательно вызов одинокого require нуждается в имени mГіdulo

var variable = require('modulo')

, Если бы ты собрался загружать файл, который ты сами написал бы, ты должен использовать относительный маршрут для показывать его в node, где искать

var variable = require('./myCodigo')

Ни в одном из двух случаев ты должен определять extensiГіn, так как Node принимает по умолчанию она extensiГіn js, json и node в этом порядке.

Из-за Гєltimo помнит, что эти mГіdulos ничего не считают специальным, это простые экспортируемые объекты используя module.exports asГ - что ты можешь делать что-то как:

console.log(bodyParser)

и смотреть их mГ©todos, что приходят включенные.

2
ответ дан 24.11.2019, 14:42

Теги

Похожие вопросы