我正在构建我的第一个流星应用程序,并且需要能够创建一个新的路由处理程序来处理oauth回调.我查看了server.js,发现connect.app上下文在meteor_bootstrap下可用.虽然这似乎不起作用:
if (Meteor.is_server) {
Meteor.startup(function () {
var app = __meteor_bootstrap__.app;
app.use('/callback',function (req,res) {
res.writeHead(404);
res.end();
return;
});
});
}
Run Code Online (Sandbox Code Playgroud)
思考?
此解决方案的问题是您的中间件放在堆栈的底部.因此,catch-all流星处理程序将始终在"/ callback"处理程序之前运行.
解决这个问题的一个非常黑客的方法(直到流星释放它们正确的路由支持)是将你的处理程序拼接在堆栈的顶部:
__meteor_bootstrap__.app.stack.splice (0, 0, {
route: '/hello',
handle: function (req,res, next) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end("hello world");
return;
}.future ()
});
Run Code Online (Sandbox Code Playgroud)
您可以使用Meteor Router智能包实现此目的:
Meteor.Router.add({
'/callback': 404
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1774 次 |
| 最近记录: |