【问题标题】:Passing variables into package.json将变量传递到 package.json
【发布时间】:2020-03-13 18:49:39
【问题描述】:

我正在开发 React 应用程序。我需要将一个变量从 .env 文件传递​​给 package.json:

{"proxy": "ENV_VAR"}

有可能做到吗?

此外,我们使用 docker 构建应用程序。我们可以用 docker 重写那个密钥吗?

【问题讨论】:

    标签: javascript reactjs docker npm


    【解决方案1】:

    最终目标是什么? 是在构建上定义流程方向吗? 如果是,那么您不需要将它传递给 package.json,而是在构建脚本中读取它。 例如像这样启动构建任务(它不在 package.json 中)

    PROXY=SOME_PROXY npm run-script build
    

    如果它像 create-react-app 之类的东西,你检查了吗:这个https://create-react-app.dev/docs/proxying-api-requests-in-development/

    所以你可以阅读环境

    const proxy = require('http-proxy-middleware');
    module.exports = function(app) {
      app.use(
        '/api',
        proxy({
          target: process.env.ENV_VAR,
          changeOrigin: true,
        })
      );
    };
    

    【讨论】:

    • 我可以像 'PROXY=SOME_PROXY npm start' 一样使用它吗?
    • 是的,在命令将其定义为要执行的脚本的临时变量之前设置它。例如 DEBUG=* node app.js(用于 expressjs 应用程序)启用详细输出以进行调试。
    猜你喜欢
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 2018-03-23
    • 2014-01-22
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多