当前位置: 首页 > 面试题库 >

在运行create-react-app构建脚本时如何设置build .env变量?

荀学文
2023-03-14
问题内容

我在create-react-app中使用以下环境变量:

console.log(process.env.REACT_APP_API_URL) // http://localhost:5555

当我npm start通过读取.env文件运行时它起作用:

REACT_APP_API_URL=http://localhost:5555

我如何像http://localhost:1234执行a 一样设置其他值npm run build

这是我的package.json文件:

{
  "name": "webapp",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "react-scripts": "0.9.0"
  },
  "dependencies": {
    "react": "^15.4.2",
    "react-dom": "^15.4.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

问题答案:

您可以这样使用process.env.NODE_ENV

const apiUrl = process.env.NODE_ENV === 'production' ? process.env.REACT_APP_PROD_API_URL : process.env.REACT_APP_DEV_API_URL;

你需要有REACT_APP_PROD_API_URLREACT_APP_DEV_API_URL集。

或者,如果生产URL始终相同,则可以简化它:

const apiUrl = process.env.NODE_ENV === 'production' ? 'https://example.com' : process.env.REACT_APP_DEV_API_URL;

Create React App NODE_ENV在构建时会为您设置为“生产”,因此您无需担心何时将其设置为生产。

注意: 您必须重新启动服务器(例如npm start再次运行)以检测环境变量的变化。



 类似资料:
  • 我使用create react应用程序已经有一段时间了。“npm start”或“yarn start”自动重装本身工作正常,但现在我有了另一个问题。目前,我在express server上通过build文件夹运行应用程序,我使用“npm run build ”,因为express正在提供构建文件。有许多api调用要求应用程序以这种方式运行。现在,每次手动执行“npm运行构建”变得很乏味。有没有一

  • 我在我的机器上安装了create react native应用程序,开始使用react native,但由于npm启动步骤本身出现此错误而停止。 当前环境: 节点-6.14.0 npm-3.10.10博览会-2.3.0.1012011 在我的终端上,我得到了96%的“构建JavaScript包失败”。 当我在手机上点击“显示详细信息”时,我会得到——“错误代码:客户端\加载\错误状态代码:500”

  • 问题如下: 想要在React 项目执行yarn build 时, 给index.html 增加后缀 没有使用react-eject, 使用的是crao 替代, 但是craco.config.js 配置 HtmlWebpackPlugin不生效。 craco.config.js 配置如下: package.json 部分组件版本如下: 执行yarn build 打包后,配置无效, 请教各位大佬们了

  • 创建响应应用时,图像中出现错误。它一直在正常工作,我所做的就是mkdir和cd到那个dir。 这就是错误的样子... NPX:在36.634s中安装了99必须使用导入来加载ES模块: C:\用户\Neeraj\AppData\漫游\npm-cache_npx\5172\node_modules\create-react-app\node_modules\is-promise\index.js不支持

  • 问题内容: 如何在Apache WAMP / XAMPP服务器上部署构建? 我创建了一个应用,并且在此应用上有两个页面 当我执行或运行正常并且所有页面在URL导航或按钮单击上均正确呈现时 我执行了构建命令 npm运行构建 它会在文件夹中生成所有和文件。 我搬到这个build文件夹中的内容的文件夹,并执行对URL 的只显示主页。然后下一页给出 但是当我执行npm命令的模块时,它在 服务构建 请帮我如

  • 我正在尝试运行一个groovy脚本,该脚本正在更新构建。说明在从属节点上运行进程时执行期间。 我的问题是系统groovy脚本仅在主节点上执行,而Jenkinsgroovy脚本在从节点上运行,但无法访问变量。 我有一个类似的脚本: 有没有办法修改在从服务器上运行的“JenkinsGroovy脚本”上的构建变量? 提前感谢!