Heroku Foreman退出Express.js bodyParser()调用

时间:2013-12-05 02:53:51

标签: javascript node.js heroku express foreman

当运行工头开始时,我看到以下消息

> foreman start
20:38:55 web.1  | started with pid 3896
20:38:55 web.1  | Development
20:38:56 web.1  | connect.multipart() will be removed in connect 3.0
20:38:56 web.1  | exited with code 1
20:38:56 system | sending SIGKILL to all processes

我想知道为什么会这样,因为运行node server.js似乎没有终止服务器。

以下是似乎导致应用程序以退出代码1终止的代码段:

var app = express();
app.configure(function()
{
    // More config things above
    app.use(express.bodyParser());   // This line is causing the issue
    // More config things below
}

以上是使用Express.js框架的代码。删除对express.bodyParser()的上述调用允许服务器运行(通过foreman)。问题是,我需要身体解析器模块来解析我传入的get / posts请求。

非常感谢有关此问题的任何帮助。

1 个答案:

答案 0 :(得分:5)

我不知道为什么在快递报告弃用警告时工头会退出,但您可以消除此行为,将app.use(express.bodyParser());替换为

app.use(express.json());
app.use(express.urlencoded());
在下一版本的Connect中,

connect.multipart()将从bodyParser中删除,这可能就是问题所在。您可以在Connect documenattion和/或this StackOverflow Q&A中找到更多信息。