使用create-react-app (CRA)
创建新的Web应用程序后,我需要包括一些环境文件以配置各种端点。注意,CRA附带了很酷的dotenv
软件包,所有软件包都可以使用。那里只有一个问题-我想让dotenv
从我的./environments
目录而不是根目录中读取这些文件。有什么方法可以将目录{em> 中的.env
,.env.local
,.env.test
等文件从根目录中加载出来?
引人注目的我可以通过这样简单地导入来在我的快速后端server.js
中实现此目标>
require('dotenv').config({ path: `./environments/` })
我可以在React中使用客户端代码吗?如果是这样,我应该在哪里进口呢?似乎不适合我。
答案 0 :(得分:1)
如果您是使用CRA创建的项目,并且想要配置dotenv来更改加载env文件的路径,那么您将不得不执行npm eject。
或者,您可以使用env-cmd实现相同的目的:
安装:
npm i env-cmd
package.json 中的添加脚本,例如:
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"dev": "env-cmd -f envs/.env.dev react-scripts build",
"qa": "env-cmd -f envs/.env.qa react-scripts build",
"demo": "env-cmd -f envs/.env.demo react-scripts build"
},
在.env.dev
目录中创建.env.qa
,.env.demo
,envs/
。
现在,您可以运行:
$ npm run dev // it will use envs/.env.dev file
$ npm run qa // it will use envs/.env.qa file
$ npm run demo // it will use envs/.env.demo file