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,我们可以看到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