当我使用node --env-file=.env index.js
运行我的应用程序时,环境变量可以正确加载。但是,当我尝试使用nodemon和脚本npm run dev
运行相同的应用程序时,环境变量是未定义的。
- Node.js版本:20.9.0
- Nodemon版本:3.0.1
我尝试将package.json从"scripts": {"dev": "nodemon index.js"},
配置为"scripts": {"start": "nodemon --exec 'node --env-file=.env index.js'"}
,但仍然未定义。
2条答案
按热度按时间cpjpxq1n1#
解决方案一:
经过一些故障排除,我发现这个问题与如何解释引号有关。通过删除命令
node --env-file=.env index.js
部分的引号,问题得到了解决。字符串
**要点:**在某些环境或shell配置中,package.json脚本中处理引号的方式可能会导致意外行为或错误。如果您遇到类似问题,调整脚本命令中引号的使用可能会提供解决方案。
方案二
另外,我发现另一个解决方案是将
nodemon.json
添加到根文件夹,并添加以下内容型
现在您可以保持
package.json
的相同"dev": "nodemon index.js"
不变。7gcisfzg2#
您写了:
字符串
但是,你会希望
index.js
在引号**之外:型
Demo:
型
同样的工作也通过包脚本:
型