node.js - 如何在没有 "DEBUG=node:* ./bin/www"的情况下使用 Express 4 运行应用程序

标签 node.js express phpstorm express-4

我正在学习 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/

相关文章:

javascript - 如何在javascript中将对象作为键值对进行迭代

javascript - 当数组超过一定大小限制时,node.js 会大幅减速

Node.js - 生成多部分/表单数据

javascript - 如何在 Express 中使用参数在路由中渲染模板?

intellij-idea - PhpStorm Live Templates 的 Groovy 脚本给出了建议框?

javascript - PhpStorm HTML 检查问题

mysql - PhpStorm 可以将 MySQL 数据库转储到 sql 文件中吗?

bash - 从 bash 脚本调用 grunt.js 时出现问题

node.js - 如何通过 Node expressjs 从 s3 提供静态网站?

node.js - Nginx 反向代理配置 - 404 未找到