我想用分开的.每种模式(开发、生产等)的环境文件.在我的vue上工作时.在js项目中,我可以使用.env.development.env.production这样的文件为同一个env密钥获取不同的值.(例如:in.env.development:FOO=BAR和in.env.production:FOO=BAZ,在开发模式下process.env.FOO将是BAR,在生产模式下我将是BAZ).

我在一台Express服务器上工作,想使用这些相同的类型.存储端口、数据库uri、用户、pwd的环境文件...

我知道我可以编辑软件包中的脚本.像这样:

"scripts": {
    "start": "NODE_ENV=development PORT=80 node ./bin/www",
    "start-prod": "NODE_ENV=production PORT=81 node ./bin/www"
}

但当使用多个变量时,这会变得混乱.

我试过用dotenv,但似乎你只能用dotenv.环境文件.不环境.发展与创新.环境.生产

我可以使用dotenv软件包还是需要另一个?或者我可以不带任何包装就这么做吗?

推荐答案

你可以指定哪个.通过path option使用的env文件路径如下:

require('dotenv').config({ path: `.env.${process.env.NODE_ENV}` })

Node.js相关问答推荐

自动将Selify打开的Chrome窗口移动到Mac OS中的第三个显示器

Firebase-admin筛选器.或只考虑第一个WHERE子句

购物车是空的状态|本地存储不更新产品数量|Redux|

如何将我的Redis客户端配置为在禁用群集模式的情况下使用读取副本?

使用 Google Drive API 按文件夹 ID 检索文件夹的内容

几个 lambda 共有的函数

使用NodeJS通过服务账号列出Google Workspace用户

如何设置 Puppeteer Select 器的唯一性?

Prisma,只有一个用户的行可以有真值,@@unique(userId, isActive)

Angular Build 生产返回致命的 javascript 无效大小错误

为什么要加密 CSRF 令牌?

如何在没有 Typescript 的情况下以交互方式使用 Create-React-App?

为什么我的 npm 脚本中的 glob 不起作用?

使用 node/express/Multer,您如何首先判断参数?

使用 Node.JS,如何按时间顺序获取文件列表?

JSHint 是否支持异步/等待?

node/express:使用 Forever 连续运行脚本时设置 NODE_ENV

如何使用 gulp-uglify 缩小 ES6 函数?

Node.JS 中的基本 HTTP 身份验证?

我可以有条件地将 where() 子句添加到我的 knex 查询吗?