如何在node / express中管理配置

时间:2012-06-22 17:28:14

标签: javascript node.js express

我想从app.js中删除配置并将其拆分为多个文件:

/config/app.js(对于整个app.configure(function(){});

/config/view.js(用于模板引擎配置)

不幸的是,javascript不知道任何包含函数,我想避免写自己的。

那么从app.js拆分配置的最佳方法是什么?

config.js

module.exports = function(app, express, passport){
app.configure(function(){
    app.use(express.logger());
    app.use(express.bodyParser());
    app.use(express.cookieParser());
    app.use(express.session({ secret: 'kitty'}));
    app.use(passport.initialize());
    app.use(passport.session());
    app.use(express.methodOverride());
    app.use(app.router);
    app.use(express.static(__dirname + '/public'));
    app.use(express.errorHandler());
    app.set('views', __dirname + '/views');
    app.set('view options', { layout: false });
});
};

var config = require('./config/app.js')
var app = module.exports = express.createServer();

app.js

var app = express.createServer();
var config = require('./config/app.js')(app, express, passport);

1 个答案:

答案 0 :(得分:2)

您似乎错误地使用了require。这样做:

<强> app.js

var app = express.createServer();
var config = require('./config')(app);

<强> config.js

module.exports = function(app) {
    app.configure(function () {
        app.use(express.logger());
        /* etc */
    });
};