2014-09-04 80 views
0

我是新来的node.js,我想让网络服务器运行,但我得到了这个问题,试图通过运行node ./bin/www完美调试应用程序,但试图通过node app.js启动它dosen't做任何事情。application.js不会启动但调试工程

当我在终端空白行中输入node app.js时,会显示其加载内容并消失在几个seccod中,没有任何错误或启动应用程序。

+0

好吧,所以如果它实际上是一个可执行文件,因此在文件的路径前面加上'.',那么就不需要在它之前添加'node'。 – 2014-09-04 15:42:51

回答

2

的问题是,app.js是出口的应用对象,而不是启动服务器。如果您查看bin/www的代码,您会看到它加载了应用程序对象并使用它来启动服务器。

#!/usr/bin/env node 
var debug = require('debug')('tmp'); 
var app = require('../app'); 

app.set('port', process.env.PORT || 3000); 

var server = app.listen(app.get('port'), function() { 
    debug('Express server listening on port ' + server.address().port); 
}); 

你需要使用斌/ WWW要么启动应用程序,或者修改和代码移动到app.js结束时,如果你不想单独的启动脚本。

0

如果您想查看调试消息,则需要将DEBUG环境变量添加到shell会话中。对于开发环境,您可以通过将其放入您的.bashrc文件中来自动执行此操作。

export DEBUG=express:*

或者,如果你不想这样做,你可以这样做:

DEBUG=express:* node ./bin/www

http://expressjs.com/guide.html#debugging-express

+0

他说应用程序根本不启动,而不是日志记录被破坏。 – mz3 2014-09-04 15:48:36

相关问题