在 sails.js 中实施 prerender.io 中间件
Implementing prerender.io middleware in sails.js
我在 sails.js 后端有一个 angular 站点 运行。我正在尝试为我的网站实施 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 解决方案,但无济于事。
知道如何在 sails 中设置它吗?
如果你看这个问题: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'
]
}
};
我在 sails.js 后端有一个 angular 站点 运行。我正在尝试为我的网站实施 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 解决方案,但无济于事。
知道如何在 sails 中设置它吗?
如果你看这个问题: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'
]
}
};