1

req.extras (現在は req.data) を操作できる古い self.loader 関数への参照が見つからないようです。

enableMiddleware を使用して「apostrophe-module」の簡単な拡張機能を作成してみました。これがコードです

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();
    }


  }

};

(これがスタックオーバーフローに値するハウツーの質問かどうかはわかりません、お詫びします)

これは 2.0.0 でこれを処理する正しい方法ですか?

- この質問はもともとここに投稿されましたApostrophe CMS Forum

4

1 に答える 1

1

回答は boutell によって提供されました。Apostrophe CMSフォーラム

これはハウツーの質問であり、実際にはスタックオーバーフローのものですが、大したことではありません...

次のように、どのモジュールにも pageServe メソッドを含めることができます。

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

コールバックはオプションです。非同期処理を行う必要がない場合は、次のように記述できます。

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

これは、古いローダー メソッドとまったく同じ方法で呼び出され、同じことを行うことができます — req.data を台無しにし、req.data.bestPage と req.data.remainder に基づいて req.data.page を設定します (ただし、アポストロフィを確認してください) -それを行うためのより簡単な方法のカスタムページ)など。

アポストロフィには、このような callAll メソッドがいくつかあり、たまたまそれらを持つすべてのモジュールで自動的に呼び出されます。現在のドキュメントの問題点は、これらのメソッドが 1 つの中心的な場所にドキュメント化されていないため、この手法を見つけるのが難しくなっているということです。私たちはそれに取り組んでいます。

于 2016-11-20T15:36:43.837 に答える