2016-11-20 46 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方法都会在所有碰巧拥有它们的模块上自动调用。目前的文档存在一个问题,那就是这些方法没有记录在一个中心位置,这让您很难找到这种技术。我们正在努力。