Ale*_*ton 3 environment-variables express reactjs create-react-app dotenv
使用 创建新的 Web 应用程序后create-react-app (CRA),我需要包含一些用于配置各种端点的环境文件。注意到 CRA 附带了dotenv一切准备就绪的酷包。只有一个问题 - 我想从我的目录而不是根目录dotenv中读取这些文件。./environments有没有办法将.env、.env.local、.env.test等...文件加载到与根目录分开的目录中?
注意到我可以server.js通过简单地导入来在我的 Express 后端实现这一点,如下所示:
require('dotenv').config({ path: `./environments/` })
Run Code Online (Sandbox Code Playgroud)
我可以对 React 中的客户端代码执行同样的操作吗?如果是这样,我应该把这个导入放在哪里?似乎对我不起作用。
如果您使用 CRA 创建项目并希望配置dotenv以更改加载env文件的路径,则必须执行npmject。
或者,您可以使用env-cmd来实现相同的目的:
安装:
npm i env-cmd
Run Code Online (Sandbox Code Playgroud)
在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"
},
Run Code Online (Sandbox Code Playgroud)
创建后.env.dev,在目录中。.env.qa.env.demoenvs/
现在,您可以运行:
$ 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5137 次 |
| 最近记录: |