【问题标题】:How to access process.env variable from a script command如何从脚本命令访问 process.env 变量
【发布时间】:2019-04-08 17:28:39
【问题描述】:

我有一个角度项目。我想根据 process.env.NODE_ENV 文件是测试还是生产来构建不同的项目。

Angular 有一个ng build 命令,您可以使用配置标记该命令,以定义项目应该构建为“测试”还是“生产”。我希望它基于 process.env 变量,而不是对这些值进行硬编码。

如何在我的 package.json 脚本命令中访问这个 process.env.NODE_ENV 变量。

npm 运行构建

"build": "ng build --configuration=process.env.NODE_ENV",

目前我收到以下错误

在项目“演示”中找不到配置“NODE_ENV”。错误: 在项目“演示”中找不到配置“NODE_ENV”。

【问题讨论】:

  • 在linux上你可以使用$NODE_ENV

标签: node.js angular


【解决方案1】:

NODE_ENV=prod npm run build

这将在 process.env 中设置环境变量,以便您可以访问 node.js 脚本中的任何位置。

这样你可以在运行时将任何值传递给NODE_ENV。

【讨论】:

    【解决方案2】:
    ng build --configuration=$NODE_ENV
    

    或

    ng build --configuration=%NODE_ENV%
    

    取决于您的平台。

    process.env 只能通过在 node.js 上运行的 javascript 文件访问,这里你需要使用 shell 语法

    【讨论】:

    • 取决于平台,我使用的是 linux。所以我需要使用第一个?我这样做的原因是因为 k8 设置了我的容器的环境变量?应该可以访问这些变量,因此我可以构建测试或生产
    • @Kay 是的,第一个用于 linux/mac,第二个用于 windows
    猜你喜欢
    • 2017-08-03
    • 2011-03-29
    • 2012-10-30
    • 2020-05-01
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多