.env
sh
DATABASE_PASSWORD=acme
要自定义要加载的 .env
文件的路径,请在启动应用程序之前设置一个名为 ENV_PATH
的环境变量:
sh
ENV_PATH=/absolute/path/to/.env npm run start
访问环境变量
在配置和应用程序文件中的任何位置,都可以使用 process.env.{variableName}
访问 .env
文件中定义的变量。
在配置文件中,env()
实用程序允许定义默认值和 转换值:
js
./config/database.js
js
module.exports = ({ env }) => ({
connections: {
default: {
settings: {
password: env('DATABASE_PASSWORD'),
},
},
},
})
语法 property-name: env('VAR', 'default-value')
使用存储在 .env
文件中的值。如果 .env
文件中没有指定值,则使用默认值。
转换环境变量
env()
实用程序可用于将环境变量转换为不同类型:
js
// 如果已定义,则返回 env,而无需进行转换
env('VAR', 'default')
// 转换为整数(使用 parseInt)
env.int('VAR', 0)
// 转换为浮点数(使用 parseFloat)
env.float('VAR', 3.14)
// 转换为布尔值(检查值是否等于“true”)
env.bool('VAR', true)
// 转换为 JS 对象(使用 JSON.parse)
env.json('VAR', { key: 'value' })
// 转换为数组(语法:ENV_VAR=[value1, value2, value3] | ENV_VAR=["value1", "value2", "value3"])
env.array('VAR', [1, 2, 3])
// 转换为日期(使用 new Date(value))
env.date('VAR', new Date())
// 返回与 oneOf 联合类型匹配的 env
env.oneOf('UPLOAD_PROVIDER', ['local', 'aws'], 'local')