如何告诉 React 使用哪个 .env 文件?
Posted
技术标签:
【中文标题】如何告诉 React 使用哪个 .env 文件?【英文标题】:How to tell React which .env file to use? 【发布时间】:2022-01-22 03:29:47 【问题描述】:我有一个使用以下命令运行的 React 应用程序:
npm run dev
这会启动应用程序并使用.env.local
文件。
我希望能够配置一个名为 .env.production
的文件,当我运行命令 npm run prod
时将使用该文件而不是 .env.local
。
这些是我当前的脚本:
"scripts":
"dev": "react-scripts start",
"start": "serve -s build",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
,
我该怎么做?
【问题讨论】:
【参考方案1】:安装npmjs.com/package/env-cmd
"scripts":
"start": "react-scripts start",
"start:local": "env-cmd -f ./.env.local react-scripts start",
"start:Dev": "env-cmd -f ./.env.development react-scripts start",
"start:QA": "env-cmd -f ./.env.test react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
【讨论】:
谢谢!我试过了,得到了这个'env-cmd' is not recognized as an internal or external command,
npmjs.com/package/env-cmd【参考方案2】:
创建一个新的脚本密钥并使用 REACT_APP_ENV :
"scripts":
"dev": "react-scripts start",
"start": "serve -s build",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"prod" : "REACT_APP_ENV=prod npm run dev"
,
【讨论】:
以上是关于如何告诉 React 使用哪个 .env 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在带有 typescript 项目的 react js 中使用 .env 文件?
如何让 Apollo Client 告诉我错误发生在代码的哪个位置?