所以我有一个node.js应用程序,在其中我使用节点配置管理器来管理各种环境(开发、暂存、生产)。
我试图使用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文件夹中,我还有另外三个文件夹,"development"、"staging"one_answers"production"。
在所有这些文件夹中,我有三个文件,app.json、db.json和&logger.json.
所以我不确定是什么原因造成了这个问题。配置"develop"确实存在,但似乎有问题。
当我用nodemon启动这个应用程序时,它运行得很好,只是永远都会引起问题。
我对节点配置管理器如何工作的理解是否有所欠缺?我想我所要做的就是将我的NODE_ENV变量更改为配置目录中文件夹的名称,我就可以做好准备了。
提前感谢您的帮助。
./
指令查看当前工作目录的相对路径。forever可能不是从项目的工作目录运行的,所以它找不到文件。
如果您在/path/to
中投影生命,则需要将其作为--workdingDir
参数提供给forever。
forever start /path/to/main.js --workingDir=/path/to/
应该会处理好它