当我使用
node --env-file=.env index.js
运行应用程序时,环境变量会正确加载。但是,当我尝试使用 nodemon 和脚本 npm run dev
运行相同的应用程序时,环境变量未定义。
我尝试配置 package.json
"scripts": {"dev": "nodemon index.js"},
到
"scripts": {"start": "nodemon --exec 'node --env-file=.env index.js'"}
但它仍然是未定义的。
你写了:
nodemon --exec 'node --env-file=.env index.js'
但是,您会希望
index.js
位于引号之外:
» npx nodemon --exec 'node --env-file=.env' index.js
演示:
» cat .env
ENVIRONMENT_NAME=local
» cat index.js
console.log(process.env.ENVIRONMENT_NAME);
» npx nodemon --exec 'node --env-file=.env' index.js
[nodemon] 3.0.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node --env-file=.env index.js`
local
[nodemon] clean exit - waiting for changes before restart