npm表示“hello world”中间件错误

节点 – 版本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); }); 

我尝试在terminal的'节点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 

我是新来的快递,任何帮助将受到欢迎。 谢谢。

第一行说明了一切:

错误:大多数中间件(如logging器)不再与Express捆绑在一起,必须单独安装。 请参阅https://github.com/senchalabs/connect#middleware

看看https://github.com/senchalabs/connect#middleware,我们可以看&#x5230;express.logger已经被morgan所取代。

 var logger = require('morgan'); app.use(logger); //replaces your app.use(express.logger()); 

记得要npm install morgan和/或添加到你的package.json

我面临同样的问题。 我从我的节点js文件所在的目录中运行下面的代码

 npm install --save morgan 

使用上面的命令添加依赖到你的package.json。

一旦添加了包,logging器现在可以用作

 logger = require('morgan'); app.use(logger('dev')); 

大多数中间件(如logging器)不再与Express捆绑在一起,必须单独安装。 请参阅https://github.com/senchalabs/connect#middleware

express.logger('dev')从express模块​​中删除

使用logging器像摩根

 var morgan = require("morgan"); app.use(morgan('combined')); 

摩根检查下面的链接摩根的更多细节

你需要一个以前的版本:

 npm install express@3.0.0