node.js - 使用永远运行 Node 应用程序时出现问题

标签 node.js forever

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

我试图使用forever在后台运行这个进程,但是当我运行forever start/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”和“生产”。

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

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

当我使用 nodemon 启动该应用程序时,它运行良好,但它永远会导致问题。

我对 Node 配置管理器如何工作的理解是否遗漏了一些东西?我认为我所要做的就是将我的 NODE_ENV 变量更改为我的配置目录中的文件夹的名称,然后我就完成了。

预先感谢您的所有帮助。

最佳答案

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

如果您的项目位于 /path/to 中,那么您需要将其作为 --workdingDir 参数永远提供。

永远启动/path/to/main.js --workingDir=/path/to/

应该可以解决这个问题

关于node.js - 使用永远运行 Node 应用程序时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36263998/

相关文章:

javascript - Webpack 配置不是严格模式,不想更改代码

node.js - 如何关闭由 Forever 启动的 Node 项目?昂 git

node.js - 如何保持 Node 应用程序运行?

javascript - 是否有必要在 OpenShift 上使用 Forever.js?

javascript - 了解异步回调

node.js - 将 Sinon SinonStubbedInstance 与 Typescript 一起使用

javascript - Node js 返回不返回任何内容

javascript - 在 recursive-readdir 中包含多个文件扩展名

node.js - 永远:找不到命令

node.js - 永远运行 `npm start`找不到 '/package.json'