我正在学习 Node.js + Express 4 并命令运行我的应用程序看起来是这样的:
$>DEBUG=node:* ./bin/www
这个命令是做什么的?
我怎样才能像这样运行我的应用程序:
$>node app.js
PS:我需要在phpStrom下运行,不能在configuration first命令中设置。
最佳答案
首先,我认为理解一个 Express 应用程序只不过是一个正在监听某个端口的启动的 Express 应用程序对象 是很重要的(参见 ex1)。在此示例的第一行,您可以看到所谓的 linux hashbang 或 shebang
,该行告诉您的 shell 它应该使用哪种解释器来执行以下文件。因此,可以使用 Node hashbang 创建一个文件,删除 .js 扩展名,然后仍然可以使用 ./{myscript}
执行它,其中 ./会导致它运行。
现在我们已经了解了基础知识,我可以相当肯定您使用了 express-generator 来创建您的应用程序。这确实告诉您使用 DEBUG=node:* ./bin/www
运行您的应用程序。 ./bin/www/
只是运行/bin 文件夹中的 www
文件。它本质上是一个带有 Node hashbang 的 javascript 文件,它从 app.js
导入应用程序实例并在其上启动和 http 服务器,它开始监听事件。 DEBUG={name}:*
命令由 npm debug
使用 npm debug link .它只是告诉包它应该使用哪些调试功能。 *
是一个通配符:全部使用它们(有关信息,请参阅 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
运行它
关于node.js - 如何在没有 "DEBUG=node:* ./bin/www"的情况下使用 Express 4 运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28294340/