警告:“test”的 NODE_ENV 值与任何部署配置文件名都不匹配

Posted

技术标签:

【中文标题】警告:“test”的 NODE_ENV 值与任何部署配置文件名都不匹配【英文标题】:WARNING: NODE_ENV value of 'test ' did not match any deployment config file names 【发布时间】:2019-07-13 04:21:13 【问题描述】:

在运行 node.js 应用程序时收到此警告,尽管所有测试都表明一切正常。

我已在我的应用程序中包含以下代码以进行故障查找:

console.log('NODE_ENV: ' + config.util.getEnv('NODE_ENV')); console.log('NODE_CONFIG_DIR: ' + config.util.getEnv('NODE_CONFIG_DIR'));

终端的输出是:

NODE_ENV: test NODE_CONFIG_DIR: C:\Users\[username]\OneDrive - [Company Name]\Documents\projects\[project name]\server\config

终端输出

在该文件夹内(通过将 URI 复制并粘贴到资源管理器中进行验证)有两个文件:

default.json test.json

配置文件夹内容

这对我来说似乎是正确的,我检查了指导,但看不到任何内容,检查了谷歌点击,答案似乎没有相关性。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

快速回答:

在 Windows 环境中使用类似 cross-env 的东西:npm cross-env

据我所知,这似乎属于“NODE_ENV 的 Windows 问题”类别。在启动应用程序之前单独设置 NODE_ENV 会导致环境正常工作;在 package.json 脚本中对 NODE_ENV 的任何操作都会导致失败。

This answer 在另一个问题上将我带到了跨环境包,当按照答案中确定的方式实施时,问题就解决了。

【讨论】:

【参考方案2】:

虽然在接受的答案中提到的包解决了问题,但最好不要在项目的package.json 中获得更多依赖项,因为可以通过如下简单的调整对其进行排序:-

在您的package.json 文件中省略&& 之前的空格。这将正确检测环境,名称后没有多余的空格。

【讨论】:

以上是关于警告:“test”的 NODE_ENV 值与任何部署配置文件名都不匹配的主要内容,如果未能解决你的问题,请参考以下文章

webpack 警告 - DefinePlugin 中的警告 'process.env.NODE_ENV' 的冲突值

解决“export NODE_ENV=test”不是外部或内部命令

if(process.env.NODE_ENV ==='production')总是假的

NPM CI 和 Bluebird 承诺警告

Heroku NODE_ENV 为我设置为开发而不是生产

SQL - 使用常量值与参数的任何性能差异?