代码之家  ›  专栏  ›  技术社区  ›  John Paschal

运行节点应用程序时出现问题

  •  2
  • John Paschal  · 技术社区  · 8 年前

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

    我试图使用forever在后台运行这个进程,但是当我运行foreverstart/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;
    

    在我的 配置 文件夹我还有另外三个文件夹,“开发”、“暂存”和“生产”。

    在所有这些文件夹中,我有三个文件,app。json,数据库。json、&logger.json。

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

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

    我对节点配置管理器的工作方式的理解是否有所欠缺?我想我所要做的就是将我的NODE_ENV变量更改为我的配置目录中的文件夹的名称,这样就可以了。

    提前感谢所有的帮助。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Derick Bailey    8 年前

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

    如果你计划住在 /path/to 那么您需要将其作为 --workdingDir 参数设置为永远。

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

    应该会解决的