NODE JS - 永远的起始路径问题

时间:2014-06-13 08:16:22

标签: node.js forever

我有一个server.js文件定义如下:

    var iniparser = require('iniparser');
    var inihost;
    var inidbuser;
    var inidbpass;
    var inidbname;


    var config = iniparser.parseSync('../setup_db/config.ini');
            inihost = config.db_hostname;
            inidbuser=config.db_username;
            inidbpass=config.db_password;
            inidbname=config.db_name;
.....

在重新启动时我有一个crontab应该会自动永远启动服务器:

@reboot /usr/bin/sudo /usr/local/bin/forever start /var/www/html/rubrica/chat/server.js

有趣的是,如果我从任何目录启动服务器,其路径如下:

forever start /var/www/html/rubrica/chat/server.js

服务器启动很好..但是,如果我从/root/.forever / 目录运行SAME命令,服务器将给我以下错误:

 ENOENT, no such file or directory '../setup_db/config.ini'

所以每当我重新启动机器时,我都会收到错误......这样的事情怎么可能?

1 个答案:

答案 0 :(得分:2)

iniparser.parseSync()的参数与当前文件(如require())无关,而是与当前工作目录相关。使用:

var path = require('path');
var config = iniparser.parseSync(path.join(__dirname, '../setup_db/config.ini'));