禁用Sails.js中的一些内置功能

时间:2015-01-18 23:09:41

标签: javascript node.js sails.js

我正在使用Sails.js 0.10作为框架开发REST API后端应用程序。此应用程序将严格REST,将使用oAuth承载令牌实现身份验证。所有回复都将采用JSON格式。

考虑到这个特定的要求,我不需要在Sails.js中嵌入一些功能,我想从我的应用程序中删除它(因此它可以在没有多余代码的情况下运行得更快)。

所以,我的问题是:如何禁用以下内置功能?

  • 蓝图
  • 静态
  • 缓存
  • 会话
  • 浏览
  • 的WebSocket
  • CSRF
  • I18N

我的用例中不需要禁用哪些其他内容?

在这个具体问题上,文档有点分散。每个模块都描述了所有配置选项,但没有关于如何从应用程序禁用和/或删除此类模块的信息。

1 个答案:

答案 0 :(得分:18)

性交!你需要禁用几个钩子,还有一些中间件。首先,在您的.sailsrc文件中,设置:

"hooks": {
  "session": false,
  "sockets": false,
  "pubsub": false,
  "views": false,
  "csrf": false,
  "i18n": false,
  "blueprints": false
}

然后在config/https.js

middleware: {
  order: [
    'startRequestTimer',
    // 'cookieParser',
    // 'session',
    'bodyParser',
    'handleBodyParserError',
    'compress',
    'methodOverride',
    'poweredBy',
    '$custom',
    'router',
    // 'www',
    // 'favicon',
    '404',
    '500'      
  ]
}

这应该可以帮助你。