6
我試圖擴展app.get行爲,但似乎這樣做後,應用程序在擴展之前會損失一些配置。在nodejs應用程序中擴展快速app.get方法
在下面的代碼片段的/樣品和/ES /樣品輸出是空和預期輸出應該是「價值」
難道我做錯了什麼?
var app = require('express')();
app.set('myprop', 'value');
var _get = app['get'];
app['get'] = function (route, middleware, callback) {
_get.call(app, route, middleware, callback);
// For instance: I generate a new route for 'es' language.
_get.call(app, '/es' + route, middleware, callback);
};
app.get('/sample', function(req, res){
res.send(app.get('myprop'));
});
app.use(app.router);
app.listen(3000);
UPDATE
對不起,我會回答自己...
我錯過了擴展方法:)
if (middleware === undefined && callback === undefined) return _get.call(app, route);
現在它就像
下面第一行魅力!
app['get'] = function (route, middleware, callback) {
if (middleware === undefined && callback === undefined) return _get.call(app, route);
_get.call(app, route, middleware, callback);
// For instance: I generate a new route for 'es' language.
_get.call(app, '/es' + route, middleware, callback);
};
Thanks Vadim!我在寫完問題後想通了:)我也用解決方案更新了我的問題,但是你的問題好多了。 – user1796747
只是出於興趣...這是什麼關於'app.listen(3131); vadim @ zapp:〜/ workspace/test $ cat。/ ex.js'? – Val
@Val,這是複製/粘貼複製。固定。謝謝。 –