首页 > 解决方案 > 将变量传递到 package.json

问题描述

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

{"proxy": "ENV_VAR"}

有可能这样做吗?

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

标签: javascriptreactjsdockernpm

解决方案


最终目标是什么?是在构建上定义流程方向吗?如果是,那么您不需要将它传递给 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,
    })
  );
};

推荐阅读