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


当前回答

这里没人提到。env吗?在你的应用根目录下创建一个.env文件,然后require('dotenv').config()并读取值。易于更改,易于阅读,跨平台。

https://www.npmjs.com/package/dotenv

其他回答

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

NODE_ENV=production npm run start

为了不必担心你是在Windows、Mac还是Linux上运行脚本,请安装cross-env包。然后你可以很容易地使用你的脚本,像这样:

"scripts": {
    "start-dev": "cross-env NODE_ENV=development nodemon --exec babel-node -- src/index.js",
    "start-prod": "cross-env NODE_ENV=production nodemon --exec babel-node -- src/index.js"
}

对这个包的开发人员的巨大支持。

npm install --save-dev cross-env

我没有看到任何地方明确提到Docker解决方案;希望这能帮助到一些人:

在Dockerfile:

FROM node:16.11-alpine3.14 AS production
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}
...

在package.json:

{
  ...
  "scripts": {
    "start": "NODE_ENV=production node ./app"
  }
  ...
}

然后在终端运行:

npm start

对于Windows Powershell使用此命令

$env:NODE_ENV="production" ; node app.js