环境变量
Modern.js 默认提供了下列环境变量:
NODE_ENV
:表示当前的执行环境。PORT
:表示应用运行的端口。
NODE_ENV
表示当前的执行环境,是只读的的环境变量,其值在不同的执行命令下具有不同的值:
production
:执行modern build
命令时的默认值。test
:执行modern test
命令时的默认值。development
:执行modern dev
命令时的默认值,同时也是其他所有情况下的默认值。
自定义环境变量
除了上述默认提供的环境变量,还可以通过 shell
或 .env
文件自定义环境变量。
通过 shell
指定
在命令前添加自定义环境变量:
FOO=123 BAR=456 pnpm run dev
通过 .env
文件指定
在项目根目录创建 .env
文件,其中添加自定义环境变量:
FOO=123
BAR=456
更多文件格式:
.env
:默认文件。.env.development
:当NODE_ENV
值为development
时,读取该文件。.env.production
:当NODE_ENV
值为production
时,读取该文件。.env.test
:当NODE_ENV
值为test
时,读取该文件。
优先级
- 当
.env.*
与.env
同时存在,.env.*
会和.env
进行合并,相同名称的环境变量以.env.*
为准。 - 通过
.env
设置的环境变量,优先级高于shell
指定的环境变量。
使用环境变量
JS/TS 代码内使用
通过 process.env.*
直接获取环境变量。
console.log(process.env.NODE_ENV);
// "development"
HTML 代码片段使用
config/html/head.ejs
<meta name="env" content="<%=process.env.NODE_ENV %>" />