在express.js环境中使用。有什么建议吗?


当前回答

export NODE_ENV=production是坏的解决方案,重启后消失。

如果你不想再担心这个变量了,把它添加到这个文件中:

/etc/environment

不要使用导出语法,只需写(如果已经有一些内容,则在新行中):

NODE_ENV=production

重启后即可工作。你将不必再输入导出NODE_ENV=生产命令,任何地方,只要使用节点与任何你想要的-永远,pm2…

对于英雄:

heroku config:set NODE_ENV="production"

也就是默认。

其他回答

您可以按环境运行,如下所示,

NODE_ENV=production npm run start

为了拥有多个环境,您需要之前的所有答案(NODE_ENV参数并导出它),但我使用了一种非常简单的方法,不需要安装任何东西。在你的包裹里。Json只是为你需要的每个env放一个脚本,就像这样:

...
"scripts": {
    "start-dev": "export NODE_ENV=dev && ts-node-dev --respawn --transpileOnly ./src/app.ts",
    "start-prod": "export NODE_ENV=prod && ts-node-dev --respawn --transpileOnly ./src/app.ts"
  }
 ...

然后,要启动应用程序,而不是使用npm start,使用npm run script-prod。

在代码中,您可以使用process.env.NODE_ENV访问当前环境。

喉咙痛。

export NODE_ENV=production是坏的解决方案,重启后消失。

如果你不想再担心这个变量了,把它添加到这个文件中:

/etc/environment

不要使用导出语法,只需写(如果已经有一些内容,则在新行中):

NODE_ENV=production

重启后即可工作。你将不必再输入导出NODE_ENV=生产命令,任何地方,只要使用节点与任何你想要的-永远,pm2…

对于英雄:

heroku config:set NODE_ENV="production"

也就是默认。

如果你在窗户上。打开你的cmd在右文件夹然后首先

set node_env={your env name here}

按enter键,然后就可以开始节点了

node app.js

它将从你的环境设置开始

如果你在你的应用程序中使用webpack,你可以简单地设置它,使用DefinePlugin…

所以在你的插件部分,将NODE_ENV设置为生产:

plugins: [
  new webpack.DefinePlugin({
    'process.env.NODE_ENV': '"production"',
  })
]