Sails.js - 扩展req原型

时间:2015-12-31 11:31:36

标签: javascript node.js express sails.js

我想为req对象原型添加一些方法,所以我可以在以后的每个控制器中使用这些方法。

我试图在config/bootstrap.js中尝试这样做:

require('http').ClientRequest.prototype.permit = function(){
    console.log( this.params.all() );
};

但我无法在任何控制器操作的req对象中访问此方法。扩展Sails的requestresponse个对象的方法是什么?

1 个答案:

答案 0 :(得分:0)

免责声明:我是帆船的新手,但我能够实现我认为你想要做的事情。

一种可能的方法是在文件格式中添加hook

api -> hooks -> request -> index.js

index.js的样子:

module.exports = function request(sails) {

  function permit() {
    console.log(this.headers);
  }

  return {
    initialize: function(cb){

      sails.on('router:route', function(requestState) {
        requestState.req['permit'] = permit;
      });

      return cb();
    }
  }

};

有关帆钩的更多详情:

项目挂钩:http://sailsjs.org/documentation/concepts/extending-sails/hooks/project-hooks 规格:http://sailsjs.org/documentation/concepts/extending-sails/hooks/hook-specification