2017-08-24 106 views
0

是否必须使用插件来模块化代码。我们可以创建js文件,并将处理程序和路由放入不同的js文件中,并根据需要导出它们以实现模块化。我们是否需要使用插件进行模块化

+0

是,将工作,插件只是可以很容易地封装逻辑,如授权 –

回答

0

插件只是Hapi模块化应用程序代码的方式。 例如,在我的应用程序中,我想对请求执行https和www重定向。 最初的代码看起来像这样 -

server.ext({ 
type: 'onRequest', 
method: function (request, reply) { 
    if (/^www\./.test(request.headers.host)) { 
     return reply() 
      .redirect('https' + '://' + request.headers.host.replace(/^www\./, '') + request.url.path) 
      .code(301); 
    } else { 

     reply.continue(); 
    } 

} 
}); 

之后,我创建了一个插件hapi-gate,以为其他人跟我一样也有这方面的需求。 现在我的代码看起来是这样的 -

server.register({ 
register: require('hapi-gate'), 
options: {https: true, 
     www: true} // will force https and www on all requests 
}) 

现在哪一个看起来比较清爽和模块化的决定..

相关问题