Npm выражение "hello world" ошибка промежуточного программного обеспечения
node --версия
v0.10.26
npm --версия
1.4.3
Я последовал за этим: http://expressjs.com/guide.html
который имеет этот код
var express = require('express'),
app = express();
app.use(express.logger());
app.get('/', function(req, res){
res.send('Hello World');
});
var server = app.listen(3000, function() {
console.log('Listening on port %d', server.address().port);
});
Я пытаюсь 'node app.js' в терминале, и я получил эту ошибку:
Error: Most middleware (like logger) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.
at Function.Object.defineProperty.get
(/home/mike/node/helloworld/node_modules/express/lib/express.js:89:13)
at Object.<anonymous> (/home/mike/node/helloworld/app.js:4:17)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
Я новичок в экспресс, любая помощь будет приветствоваться. Спасибо.
Ответы
Ответ 1
Первая строка сообщает все:
Ошибка: большинство промежуточного программного обеспечения (например, регистратор) больше не связаны с Express и должны устанавливаться отдельно. См. https://github.com/senchalabs/connect#middleware.
Посмотрев https://github.com/senchalabs/connect#middleware, мы увидим, что express.logger
был заменен на morgan
.
var logger = require('morgan');
app.use(logger); //replaces your app.use(express.logger());
Запомните npm install morgan
и/или добавьте его в package.json
Ответ 2
Я столкнулся с той же проблемой. Я запустил нижеследующее из каталога, где мой node js файл был
npm install --save morgan
Использование вышеприведенной команды добавляет зависимость к вашему package.json.
После добавления пакета logger теперь можно использовать как
logger = require('morgan');
app.use(logger('dev'));
Ответ 3
Большинство промежуточных программ (например, регистратор) больше не связаны с Express и должны устанавливаться отдельно. Пожалуйста, посмотри https://github.com/senchalabs/connect#middleware
express.logger('dev') удален из экспресс-модуля.
используйте logger как morgan.
var morgan = require("morgan");
app.use(morgan('combined'));
для более подробной информации о morgan checkout ниже ссылки
morgan
Ответ 4
Вам нужна предыдущая версия:
npm install [email protected]