Javascript .与nodejs一起进行生产和开发的环境

Javascript .与nodejs一起进行生产和开发的环境,javascript,node.js,express,environment-variables,Javascript,Node.js,Express,Environment Variables,我看到了很多不同的方式,有些看起来很正常,有些看起来有点杂乱无章 我们可以使用包json脚本来选择我们的环境变量吗?使用nodeJS的正确方法是什么?如何实现 我已经做了一个.env。它包含对dev和prod来说是全局的api键。但是我有一些变量,例如URL变量,根据dev或prod的不同,它们是不同的 以下是我在package.json中的脚本 ... "scripts": { "dev": "nodem

我看到了很多不同的方式,有些看起来很正常,有些看起来有点杂乱无章

我们可以使用包json脚本来选择我们的环境变量吗?使用nodeJS的正确方法是什么?如何实现

我已经做了一个.env。它包含对dev和prod来说是全局的api键。但是我有一些变量,例如
URL
变量,根据dev或prod的不同,它们是不同的

以下是我在
package.json中的脚本

      ...
      "scripts": {
        "dev": "nodemon app.js",
        "prod": "node app.js"
      }
  • 使用
    cross-env
    package为正在运行的命令定义节点环境。e、 g.“prod”:“交叉环境节点_env=生产节点app.js”
  • 在代码中,根据
    节点_env
    配置读取env文件。FWIW
    dotenv
    包可以帮助读取
    .env
    文件

  • 请注意:
    cross-env
    谢谢你们,如果cross-env不再维护,我想最好找其他的东西。不,你们应该使用它。这是一个可靠的工具。它没有被维护的唯一原因是开发人员不会添加新功能,但是这个软件包像一个符咒一样实现了它的目的,所以不用担心。另外,如果我的答案解决了你的问题,请将其标记为一个答案。我个人不喜欢为一些琐碎的任务附加和维护额外的库,这些任务只需几行代码即可完成,而且从.env文件读取键/值对在我看来相当简单。