在sails.js中实现prerender.io中间件

时间:2015-06-08 05:49:14

标签: angularjs node.js sails.js prerender

我在sails.js后端运行了一个角度站点。我正在尝试为我的网站实现prerender.io服务,以便我的网站可以被搜索引擎索引。

我遇到的问题是他们的节点模块的设置说明专门用于表达。基本上他们希望您设置这个中间件:

app.use(require('prerender-node').set('prerenderToken', 'r8c9lN6JsUMMfpzYNlht'));

Sails没有以这种方式设置中间件,而是通过它policies(大多数情况下,无论如何)。

这个问题是在前一段时间提出的here,但它似乎只是添加到列表中而从未真正解决过。

我也看过这个:How to use custom route middleware with Sails.js? (ExpressJS)

并尝试实施customMiddleware解决方案,但无济于事。

如何在帆中设置它?

1 个答案:

答案 0 :(得分:3)

如果你看一下这个问题:https://github.com/prerender/prerender/issues/12

@ talss89能够使用config/http.js

使其正常运行
module.exports.http = {
    middleware: {

     prerender: require('prerender-node').set('prerenderToken', 'YOUR_TOKEN'),
     order: [
       'startRequestTimer',
       'cookieParser',
       'session',
       'myRequestLogger',
       'bodyParser',
       'handleBodyParserError',
       'prerender',
       'compress',
       'methodOverride',
       'poweredBy',
       '$custom',
       'router',
       'www',
       'favicon',
       '404',
       '500'
     ]
  }
};