npm express" hello world"中间件错误

时间:2014-04-16 23:07:36

标签: node.js express middleware

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

我是快递的新人,欢迎任何帮助。感谢。

4 个答案:

答案 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