首页 > 解决方案 > 从 package.json 加载单独的 .env

问题描述

"start:dev": "set NODE_ENV=development&&nodemon ./bin/www",
"start:test": "set NODE_ENV=testing&&nodemon ./bin/www",

我有两个单独的 .env 文件dev.envtest.env 我想在npm run start:dev上加载 dev.env 并在npm run start:test上加载 test.env

我在互联网上搜索了每个地方,但没有任何帮助。

任何帮助表示赞赏。

标签: javascriptnode.jsenvironment-variables

解决方案


dotenv NPM 包会加载默认调用的文件,.env但可以覆盖此行为。因此,您可以执行以下操作:

const { config } = require('dotenv')
if (process.env.NODE_ENV === 'development') {
    config({ path: '/full/path/to/your/dev.env' })
} else if (process.env.NODE_ENV === 'testing') {
    config({ path: '/full/path/to/your/test.env' })
}

推荐阅读