NODE JS – 永远的开始path问题
我有一个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
有趣的是,如果我从任何目录启动服务器的完整path,如:
forever start /var/www/html/rubrica/chat/server.js
服务器启动就好..但是,我运行SAME命令从/root/.forever/目录服务器将给我以下错误:
ENOENT, no such file or directory '../setup_db/config.ini'
所以,每当我重新启动机器,我得到这个错误…怎么可能这样的事情?
iniparser.parseSync()
的参数不像require()
这样的当前文件,而是与当前的工作目录相关。 使用:
var path = require('path'); var config = iniparser.parseSync(path.join(__dirname, '../setup_db/config.ini'));