2015-08-28 66 views
1

眼下以下路由功能的工作原理:如何将jade定义为node.js Express中的全局变量?

exports.summary = function(req, res, next) { 
    var jade = require('jade'); 
    res.render('myView', { 
    main: jade.renderFile('./views/summary.jade') 
    }); 
}; 

正如你所看到的,变量“玉”是本地定义每次路由功能被触发。这可能是性能问题。无论何时我试图在全球范围内定义玉器,我都会收到一条错误信息,说玉器没有定义。

有没有办法让我在全球定义'玉'?

+0

为什么你不能在文件的开头定义它? –

回答

2

s global.jade = require('jade');

了解更多关于全球here

但对你的情况这只是为了更好地在模块级定义玉:

var jade = require('jade'); 
exports.summary = function(req, res, next) { 
    res.render('myView', { 
    main: jade.renderFile('./views/summary.jade') 
    }); 
}; 

这应该工作。