dotenv-cli 在项目中的使用
从文件中加载环境变量
它能将环境变量中的变量从 .env 文件加载到 process.env 中
使用
- 安装
npm install dotenv-cli
- 根目录下创建.env 文件
.env.dev
NODE_ENV=development
IS_PRODUCTION=0
APP_LOGIN_URL=https://xxx.test.com/login?service=
APP_LOGOUT_URL=https://xxx.test.com/logout?service=
.env.prod
NODE_ENV=production
IS_PRODUCTION=1
APP_LOGIN_URL=https://xxx.com/login?service=
APP_LOGOUT_URL=https://xxx.com/logout?service=
.local.single.env
PORT=3000
environment.ts
import type { Environment } from '@common/data/environment';
export const environment: Environment = {
production: !!process.env.IS_PRODUCTION,
staffSite: {
loginUrl: process.env.LOGIN_URL as string,
logoutUrl: process.env.LOGOUT_URL as string,
};
这样我们在项目中就可以直接从 environment.ts 文件中引入全局变量
使用 dotenv 可以让我们免于在各个文件中引入配置文件,也可以很好的解决敏感信息的泄漏,利于后期代码维护
- 配置命令行
dotenv <other commands> 直接将根目录下.env 结尾的文件中的变量添加到 process.env 上
dotenv -e 可以指定一些其他的.env 文件,将变量添加到 process.env 上
"scripts": {
"dev": "dotenv -e .local.single.env -e .env.dev react-app-rewired start",
"build": "dotenv -e .env.prod react-app-rewired build",
"dev:test": "dotenv -e .local.single.env -e .env.dev react-app-rewired start",
"dev:prod": "dotenv -e .local.single.env -e .env.prod react-app-rewired start",
},
dotenv-cli 是命令行工具