如何使用Express 4运行app而不使用#34; DEBUG = node:*。/ bin / www"

时间:2015-02-03 08:25:58

标签: node.js express phpstorm express-4

我正在学习Node.js + Express 4并命令运行我的应用程序看起来如此:

  

$> DEBUG = node:* ./bin/www

这个命令是做什么的?

如何像这样运行我的应用程序:

  

$> node app.js

PS:我需要在phpStrom下运行,不能在配置第一个命令中设置。

2 个答案:

答案 0 :(得分:5)

首先,我认为重要的是要了解一个Express应用程序只是一个正在侦听某个端口的启动的 Express应用程序对象(参见ex1)。在这个示例的第一行,您可以看到所谓的linux hashbang or shebang,它是一行告诉您的shell应该使用哪种解释器来执行以下文件。因此,可以使用节点hashbang创建一个文件,删除.js扩展名仍然可以使用./{myscript}执行它。其中./使其运行。

现在我们已经掌握了基础知识,我相当肯定你使用了快速生成器来创建你的应用程序。这确实告诉您使用DEBUG=node:* ./bin/www运行您的应用。 ./bin/www/只运行/ bin文件夹中的www文件。这本质上是一个带有节点hashbang的javascript文件,它从app.js导入app实例并在其上启动和http服务器,它开始监听事件。 DEBUG={name}:* npm debug link使用npm debug命令。它只是告诉包应该使用哪些调试功能。 *是一个通配符:全部使用它们(有关信息,请参阅npm debug package docs)。

#!/usr/bin/env node
var express = require('express')
var app = express()

app.get(function(req, res) {
    res.send('Hello')
})

app.listen(8080, function(){
    console.log('Server started on port:8080')
})

提示如果您只是不想输入命令,因为它太长了我建议您将其添加到package.json的脚本部分。

'scripts': {
    'start': 'DEBUG=node:* ./bin/www'
}

然后,您可以使用npm start

运行它

答案 1 :(得分:1)

如果有人和我有同样的问题,我发布的答案我发现:

./ bin / www - 是包含你的app.js文件和http服务器创建的linux可执行文件。 现在,您可以在没有“节点”的情况下运行您的应用程序,只需编写./bin/www并单击“输入”。

DEBUG = node:* - 不确定它是如何工作的,对我来说它只是开始调试模式(我只是剪掉了这个)

要在配置设置中运行phpStrorm,而不是.js文件写./bin/www,这样你就可以在phpStorm调试环境中运行你的应用程序了。