node --version v0.10.26
npm --version 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
我是快递的新人,欢迎任何帮助。感谢。
答案 0 :(得分:36)
第一行告诉所有:
错误:大多数中间件(如记录器)不再与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
答案 1 :(得分:6)
我遇到了同样的问题。我从我的节点js文件
的目录运行了下面的代码npm install --save morgan
使用上面的命令将依赖项添加到package.json。
添加包后,现在可以将记录器用作
logger = require('morgan');
app.use(logger('dev'));
答案 2 :(得分:1)
快递模块大多数中间件(如logger)不再与Express捆绑在一起 必须单独安装。请参阅 https://github.com/senchalabs/connect#middleware
express.logger('dev')被删除。
使用 morgan
等记录器。var morgan = require("morgan");
app.use(morgan('combined'));
有关摩根结帐的详细信息,请访问以下链接 morgan
答案 3 :(得分:1)
您需要以前的版本:
npm install express@3.0.0