我想为每种模式(开发、生产等)使用单独的.env文件。在处理vue.js项目时,我可以使用.env.development
或.env.production
等文件为同一个env键获取不同的值。(例如:环境发展:FOO=BAR和环境生产中:FOO=BAZ,在开发模式过程中。env。FOO将是BAR,在生产中,i将是BAZ)。
我正在一个Express服务器上工作,希望使用这些相同类型的.env文件来存储端口、dburi、用户、pwd...
我知道我可以像这样编辑package.json中的脚本:
"scripts": {
"start": "NODE_ENV=development PORT=80 node ./bin/www",
"start-prod": "NODE_ENV=production PORT=81 node ./bin/www"
}
但是当使用多个变量时这会变得混乱。
我试过使用dotenv,但是看起来你只能使用.env文件,而不是. env.development和. env.production。
我可以使用dotenv包吗?或者我需要另一个包吗?或者我可以完全不使用任何包来做这个吗?
7条答案
按热度按时间iklwldmw1#
您可以通过
path
选项指定要使用的.env文件路径,如下所示:rfbsl7qr2#
以上两个答案都有点不对。让我解释一下。下面的KyleMit的答案缺失。/表示当前目录。
"hey computer look in my current directory for this file"
。lzfw57am3#
我使用custom-env npm package来处理多个.env文件,只需将以下代码放在代码的顶部:
它将从文件
.env.X
加载环境变量,其中X是NODE_ENV
环境变量的值。例如:.env.test
或.env.production
。Here是一个关于如何使用这个包的很好的教程。
mbyulnm04#
根据上述答复:这是对我有效的最终结果。
源env.dev目录中的. www.example.com文件。
xmq68pz95#
对于 typescript :
qhhrdooz6#
安装
dotenv
软件包:我们需要基于
NODE_ENV
获取.env
文件名,它可能未定义,将默认值设置为development
:导入并使用
dotenv
包:vu8f3i0k7#
dotenv的官方文档不建议拥有多个.env文件。