Я начинаю изучать node.js и пытаюсь выяснить, как получить содержимое запроса POST. Я стараюсь следовать инструкциям in this post. До сих пор я успешно установил node.js (в Windows 7) и выразил, и смог получить мой первый скрипт для работы. Однако моя проблема возникает, когда я пытаюсь использовать body-parser. Я установил его, и он, кажется, там Почему вызов body-parser node.js не выполняется, несмотря на то, что я его установил?
Вот код Node.js сценария
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json()); // to support JSON-encoded bodies
app.use(express.json()); // to support JSON-encoded bodies
app.get('/', function(req, res) {
res.setHeader('Content-Type', 'text/plain');
res.end('Vous êtes à l\'accueil');
});
app.get('/user/:usernum', function(req, res) {
res.setHeader('Content-Type', 'text/plain');
res.end('You are on page USER with n° : ' + req.params.usernum);
});
// https://stackoverflow.com/questions/5710358/how-to-get-post-a-query-in-express-js-node-js
app.post('/adonis', function(req, res) {
res.setHeader('Content-Type', 'text/plain');
console.log(req.body.title);
// res.write(JSON.stringify(req));
res.end('Hopefully I stringified a POST');
});
// ... Tout le code de gestion des routes (app.get) se trouve au-dessus
app.use(function(req, res, next){
res.setHeader('Content-Type', 'text/plain');
res.status(404).send('Page introuvable !');
});
app.listen(8091);
Но когда я запускаю его, node.js выдает ошибку о том, «не может найти модуль тела -parser». Что я сделал не так?
В соответствии с @ Кейла и предложения других людей, я попытался установить тело-анализатор локально, но это, кажется, не поможет, так как теперь мой скрипт выдает следующее сообщение:
Error: Most middleware (like json) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.
at Function.Object.defineProperty.get (d:\smartguide\nodejs\node_modules\express\lib\express.js:99:13)
at Object.<anonymous> (d:\smartguide\nodejs\oc1.js:5:16)
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`
Я попытался установить „JSON“ локально и по всему миру - установка работает, но это не имеет никакого отношения к ошибке файла.
Как вы установили тело-парсер? было ли это 'npm install --save body-parser'? – Sosdoc
Вероятно, потому что вы установили его глобально вместо локально. –