2016-11-20 58 views
1

我似乎無法找到舊的self.loader函數的參考,它允許我們使用req.extras,現在是req.data。Ohdotfive self.loader 2.0.0

我嘗試使用enableMiddleware創建'撇號模塊'的簡單擴展。這是代碼

var _ = require('lodash'); 

module.exports = { 
    extends:'apostrophe-module', 
    construct:function(self,options){ 

    console.log("Construct "); 
    self.enableMiddleware = function(){ 

     console.log("Enabling middlewares"); 
     self.apos.app.use(self.addDefaults); 
    }; 

    self.addDefaults = function(req, res, next){ 

     console.log("running?"); 
     req.data.defaults = {"hello":"world"}; 
     return next(); 
    } 


    } 

}; 

(我不知道這是值得計算器的HOWTO問題,道歉)

這是在2.0.0來處理這個正確的方式?

- 這個問題本來這裏Apostrophe CMS Forum

回答

1

發佈的答案被boutell這裏Apostrophe CMS Forum

提供該是一件多麼-質疑,實際上更多的計算器的事情,但沒有什麼大不了的...

任何模塊可以有一個pageServe方法,像這樣:

self.pageServe = function(req, callback) { ... } 

回調是可選的,如果您不需要做任何異步,你可以寫:

self.pageServe = function(req) { ... } 

這正是調用舊裝載機方法是的方式,你可以做同樣的事情 - 亂使用req.data,根據req.data.bestPage和req.data.remainder設置req.data.page(但查看撇號自定義頁面以獲得更簡單的方式),等等。

撇號有許多callAll方法都會在所有碰巧擁有它們的模塊上自動調用。目前的文檔存在一個問題,那就是這些方法沒有記錄在一箇中心位置,這讓您很難找到這種技術。我們正在努力。