我正在尝试覆盖Express视图查找功能,但无法设法执行此操作。目标是能够在多个目录中查找模板。
我要做的是,bootstrap.js
:
function bootstrap(express) {
var originalLookup = express.View.prototype.lookup;
express.View.prototype.lookup = function(path) {
console.log('Requested for', path);
return originalLookup(path);
};
};
module.exports = bootstrap;
我的app.js
代码是:
var express = require('express'),
routes = require('./routes'),
bootstrap = require('./bootstrap'),
app = module.exports = express.createServer();
// Configuration
require('./config/environment.js')(app, express);
// Bootstrap
bootstrap(express);
// Routes
require('./config/routes.js')(app);
// Start
app.listen(3000);
在我的bootstrap.js
代码中,express.View.prototype.lookup未定义。我不明白为什么。我做错了什么?
我刚开始使用node.js和“高级”Javascript。而且我不得不承认我有点迷失在这里。
感谢。
答案 0 :(得分:1)
在当前版本(2.5.9)中,它不是View.prototype.lookup,它只是View.lookup。
~: ) node
> require('express').View
{ [Function: View]
register: [Function],
compile: [Function],
lookup: [Function] }
> require('express').View.lookup
[Function]