2012-04-11 99 views
1

我试图覆盖快速查看查找功能,但无法设法做到这一点。目标是能够在多个目录中查找模板。我如何monkeypatch快速查看查找?

我想要做的是,在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。我不得不承认我有点迷失在这里。

谢谢。

回答

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] 
+0

谢谢。查看Github代码并同时编辑代码=坏主意! – Pierre 2012-04-11 20:21:57