如何启用调试 express.js/node.js 应用程序

How to enable debugging express.js/node.js application

我正在 window 环境中开发 express.js。我已经成功地用 npm start 开始了我的项目。现在我需要在 package.json 文件中添加调试语句以启用调试。

像这样:

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

package.jsonnpm start 命令中编辑后,我遇到错误:

Error: Debug is not an internal or external command

注意:我正在关注 Node.js 本书并且在书中它执行成功。

我认为你必须将 DEBUG 设置为环境变量

set DEBUG=you_application

我的做法:

set DEBUG=your_project:* & npm start

上面的答案是正确的,但它们只是基于 cmd 会话,如果我们关闭 cmd,那么我们需要再次设置调试变量。 经过一些调试我找到了正确的方法

"scripts": {
  "start": "set DEBUG=fibonacci:* & node ./bin/www"
}

我们只需要将 set 命令放在 package.json 文件本身中,这样您就可以像端口一样存储尽可能多的变量。

在 npm 脚本中设置环境变量是特定于平台的。

在 Windows:

"start": "set DEBUG=fibonacci:*&& mocha --reporter spec"

在 Unix/macOS 上:

"start": "DEBUG=fibonacci:* mocha --reporter spec"

我建议使用 cross-env (npm i -D cross-env),它处理这些差异并适用于所有平台:

"start": "cross-env DEBUG=fibonacci:* mocha --reporter spec"

使用 nodemon,在 windows:

"scripts": {
  "start": "SET \"DEBUG=express:*\"&& nodemon ./bin/www"
},