永远使用 运行 节点应用程序的问题

Issue with running node app using forever

所以我有一个 node.js 应用程序,我在其中使用节点配置管理器来管理各种环境(开发、暂存、生产)。

我试图在后台使用 forever 运行 这个进程,但是当我 运行 forever 启动 /path/to/main.js 时,它告诉我

Error: No file for this config - app.

错误是说它来自第 9 行。当它第一次尝试添加配置文件时,app.json。

1.   import configManager from 'node-config-manager';
2.   const options = {
3.     configDir: './config',
4.     env: 'develop',
5.     camelCase: true
6.   };
7.   console.log(process.env.NODE_ENV);
8.   configManager.init(options);
9.   configManager.addConfig('app');
10.  configManager.addConfig('logger');
11.  configManager.addConfig('db');

export default configManager;

在我的 config 文件夹中还有其他三个文件夹,'develop'、'staging' 和 'production'。

在所有这些文件夹中,我有三个文件,app.json、db.json、logger.json。

所以我不确定是什么导致了这里的问题。配置 'develop' 确实存在,但似乎有问题。

这个应用程序 运行 当我用 nodemon 启动它时它很好,它只是永远导致问题。

我对 node-config-manager 工作原理的理解是否遗漏了什么?我以为我所要做的就是将我的 NODE_ENV 变量更改为我的配置目录中的文件夹的名称,我就准备好了。

在此先感谢您的帮助。

配置文件的./指令查看当前工作目录的相对路径。 forever 可能不在项目的工作目录中 运行,因此找不到该文件。

如果您的项目生活在 /path/to,那么您需要将其作为 --workdingDir 参数永久提供。

forever start /path/to/main.js --workingDir=/path/to/

应该处理它