我正在学习Node.js + Express 4并命令运行我的应用程序:
$>DEBUG=node:* ./bin/www
这个命令是做什么的?
我怎样才能像这样运行我的应用程序:
$>node app.js
PS:我需要在phpStrom下运行,不能在configuration first命令中设置。
发布于 2015-02-25 21:02:23
首先,我认为重要的是要理解,一个Express应用程序只不过是一个启动的Express应用程序对象,它正在监听某个端口(参见ex1)。在这个例子的第一行中,您可以看到什么叫做linux hashbang or shebang,它是一行,它告诉shell它应该使用什么样的解释器来执行下面的文件。因此,使用节点hashbang创建文件是可能的,删除.js扩展名en仍然能够使用./{myscript}执行./使其运行。
现在我们已经掌握了基础知识,我非常肯定您使用了快速生成器来创建应用程序。这确实告诉你使用DEBUG=node:* ./bin/www运行你的应用程序。./bin/www/只是在/bin文件夹中运行www文件。它本质上是一个带有节点hashbang的javascript文件,该节点从app.js导入应用程序实例,并在其上启动并启动http服务器,该服务器开始侦听事件。DEBUG={name}:*命令由npm debug npm调试链接使用。它简单地告诉包它应该使用哪些调试函数。*是通配符,用于:全部使用(有关信息,请参见npm调试包文档)。
#!/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运行它。
发布于 2015-02-03 10:28:49
如果有人和我有同样的问题,我会发帖回答我发现的:
/bin/www-是包含app.js文件和http服务器创建的linux可执行文件。现在,您可以在没有“节点”的情况下运行您的应用程序,只需编写./bin/www,然后单击enter。
DEBUG=node:* -不确定它是如何工作的,对我来说,它只是简单地切换到调试模式(我只是简单地剪了这个)。
要在phpStrorm中运行配置设置,而不是.js文件写./bin/www,那么您将能够在phpStorm调试环境中运行应用程序。
https://stackoverflow.com/questions/28294340
复制相似问题