从init.d启动时,node.js express-load无法正常工作

时间:2013-09-04 07:19:05

标签: node.js init.d

我的node.js应用程序有以下app.js。当我直接用node app.js运行时,一切正常。当我从init.d运行它时,没有加载来自express-load的load项。我已经为我的所有控制器和配置文件添加了一个简单的console.log行,但没有记录。

我做错了吗?

"use strict";

var express  = require('express'),      // main js framework
    http     = require('http'),         // node http stack
    fs       = require('fs'),           // filesystem 
    load     = require('express-load'), // enables load ("config").then ("models").into("app")
    path     = require('path'),         // enables multi os capable pathes

    configure = require(path.join(__dirname, 'lib', 'configure')),
    app       = module.exports = express(),
    server    = http.createServer(app);

app.rootDir = __dirname;

// app settings 
load('config/development.js')       // load main app config
    .then('config/production.js')   // then load db models
    .then('models')                 // then load db models
    .then('controllers')            // then load controllers
    .then('config/routes.js')       // then load routes
    .into(app);                     // load it all into app
configure.loadConfig(app);

// connect to the db
//var db = require('nano')(app.get('db_conn'));

server.listen(app.get('port'), function () {
    console.log("Server listening on port %d in %s mode", app.get('port'), app.get('env'));
});

1 个答案:

答案 0 :(得分:0)

这可能是路径问题。尝试使用 ./ config / development.js 等路径,而不是 config / development.js