【问题标题】:Implementing prerender.io middleware in sails.js在sails.js 中实现prerender.io 中间件
【发布时间】:2015-08-22 11:58:09
【问题描述】:

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

我遇到的问题是他们的节点模块的设置说明是专门针对 express 的。基本上他们希望你设置这个中间件:

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

Sails 不会以这种方式设置中间件,而是通过它的 policies(无论如何)。

这个问题是不久前提出的here,但它似乎只是简单地添加到列表中而从未真正解决。

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

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

任何想法如何在风帆中进行设置?

【问题讨论】:

    标签: angularjs node.js sails.js prerender


    【解决方案1】:

    如果你看这个问题: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'
         ]
      }
    };
    

    【讨论】:

    • 谢谢。我在那个页面上没有深入挖掘。还应注意,如果使用 prerender.io,则应将 set 令牌附加到 require
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多