2015-02-05 2 views
0

res.render 방법을 sailsjs app : 에 완전히 다시 정의하고 싶습니다. 내 템플릿 엔진이 통합과 호환되지 않습니다. salsjs에서`res.render` 메소드를 완전히 재 정의하는 법?

나는 그것을 위해 후크을 사용하기로 결정하지만, res.render 내 자신의 구현을 작성하는 방법을 내가 할 수있는, 이해할 수 없습니다.

의견이나 제안이 있으십니까?

감사합니다.

답변

0

당신은

sails.on('router:before', function() { 
    sails.router.bind('/*', function(req, res, next) { 
     // here you can reimplement the res.render method, of example: 
     res.render = function render(data) { 
      // For access `req` data in your template engine, 
      // many useful info stored here like: 
      // req.options.controller – current `controller` 
      // req.options.action – current `action` 
      data.req = req; 

      var html = yourTemplateEngineRender(data); 

      res.set({ 
       'Content-Type': 'text/html', 
       'Content-Length': Buffer.byteLength(html, 'utf8') 
      }); 

      res.send(html); 
     } 
    }, 'all'); 
}); 

bem가 돛을 위해 렌더링 할 수 있습니다 내 후크를 참조하십시오 여기에 lib/hooks/views/index.js (당신의 돛 후크에서)와 같은 작업을 수행 할 수 있습니다 sails-hook-bem-render

관련 문제