Node.js 如何设置NODE_ENV和DEBUG?

Node.js 如何设置NODE_ENV和DEBUG?,node.js,Node.js,NODE_ENV=dev NODE server.js 这是mypackage.json文件中的start脚本。因此,我用npm start 我想使用debug模块,但我不确定在启动应用程序时如何设置多个环境变量,如上所述 如何将DEBUG=*添加到上面的开始脚本?打开shell并导出变量。这只适用于当前会话,因此如果您希望它永远有效,请找到.bashrc文件并将此行附加到它 导出节点\u ENV=dev您只需使用: NODE_ENV=dev DEBUG=* node server.js 在


NODE_ENV=dev NODE server.js

这是mypackage.json文件中的
start
脚本。因此,我用
npm start

我想使用
debug
模块,但我不确定在启动应用程序时如何设置多个环境变量,如上所述


如何将
DEBUG=*
添加到上面的开始脚本?

打开shell并导出变量。这只适用于当前会话,因此如果您希望它永远有效,请找到
.bashrc
文件并将此行附加到它

导出节点\u ENV=dev

您只需使用:

NODE_ENV=dev DEBUG=* node server.js
在package.json文件中:

{
  "name": "yourApp",
  "version": "0.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "NODE_ENV=dev DEBUG=* node index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {

    ...

  }
}

设置多个环境变量的方式与设置1相同

NODE_ENV=dev DEBUG=* node server.js

答案已经给出了,但我将添加一些更多的细节,因为我正在寻找只调试请求

使用express

正如@agconti所提到的

NODE_ENV=dev DEBUG=* node server.js
调试特定命名空间的步骤

NODE_ENV=dev DEBUG=request:* node server.js
您还可以排除特定命名空间

NODE_ENV=dev DEBUG=request:* node server.js

通过在它们前面加上
“-”
字符。例如,
DEBUG=*,-request:
将包括除以
“request:”开头的调试器之外的所有调试器。

这并不总是可取的。他可以使用与
NODE_ENV
完全相同的方式设置
DEBUG
内联。我想在package.json的脚本定义中定义DEBUG和NODE_ENV。我的问题是这样内联定义多个变量的格式。除了NODE_ENV之外,我如何添加DEBUG?它不起作用。我发现“NODE_ENV”未被识别为内部或外部命令、可操作程序或批处理文件。是否有关于调试变量的行为/格式的参考文档?@Cheeso,此功能通常由库实现,在其文档中,您可以找到有关使用调试变量的更多信息,例如。
NODE_ENV=dev DEBUG=request:* node server.js