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

WARNING: NODE_ENV value of 'test ' did not match any deployment config file names

在 运行 一个 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

配置文件夹内容

这对我来说似乎是正确的,我已经检查了指南但看不出任何东西,检查了 google 匹配项并且答案似乎不相关。任何帮助将不胜感激。

快速回答:

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

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

This answer 在另一个问题上,我找到了 cross-env 包,当按照答案中的标识实施时,问题就解决了。

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

在您的 package.json 文件中省略 && 之前的 space。这将正确检测环境而无需在名称后添加额外的 space。