难以快速升级到4.x.

时间:2016-03-08 00:36:41

标签: node.js express npm

在关注快递3 to 4 migration guide之后,我的应用程序除了超时外什么都没有。沉默,日志输出中没有任何内容,只是超时,让我不知道如何调试。

我希望有人能看到我在下面犯的错误。这是我的服务器和包文件之前和之后的内容。更改package.json后,我执行了npm install,并启动并重新启动了节点。

package.js之前......

"express": "~3.3.5",

server.js之前......

var express = require('express');
var app = express();
app.use(passport.initialize());

app.use(express.static('./public'));
app.use(express.compress());
app.use(express.methodOverride());
app.use(express.bodyParser());

package.js之后......

"express": "*",
"serve-static": "*",
"compression": "*",
"method-override": "*",
"body-parser": "*", 

server.js之后......

var express = require('express');
var app = express();
app.use(passport.initialize());

var serveStatic = require('serve-static');
var compression = require('compression');
var methodOverride = require('method-override');
var bodyParser = require('body-parser');

app.use(serveStatic('./public'));
app.use(compression);
app.use(methodOverride);
app.use(bodyParser);

我希望我在这里介绍相关内容。我有点失落,没有任何错误可以追随。

1 个答案:

答案 0 :(得分:1)

一个问题是您需要执行中间件生成函数并将其返回值传递给.use(),而不是中间件生成函数本身。例子:

app.use(compression());
app.use(methodOverride());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

每个中间件的任何可选参数都将取决于您的课程需求,因此您需要查阅模块的文档。