我可以通过__meteor_bootstrap__.app挂载另一个路由处理程序吗?

前端之家收集整理的这篇文章主要介绍了我可以通过__meteor_bootstrap__.app挂载另一个路由处理程序吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建我的第一个流星应用程序,并且需要能够创建一个新的路由处理程序来处理oauth回调.我查看了server.js,发现connect.app上下文在meteor_bootstrap下可用.虽然这似乎不起作用:
  1. if (Meteor.is_server) {
  2. Meteor.startup(function () {
  3. var app = __meteor_bootstrap__.app;
  4. app.use('/callback',function (req,res) {
  5. res.writeHead(404);
  6. res.end();
  7. return;
  8. });
  9. });
  10. }

思考?

解决方法

解决方案的问题是您的中间件放在堆栈的底部.因此,catch-all流星处理程序将始终在“/ callback”处理程序之前运行.

解决这个问题的一个非常黑客的方法(直到流星发布它们正确的路由支持)是将你的处理程序拼接在堆栈的顶部:

  1. __meteor_bootstrap__.app.stack.splice (0,{
  2. route: '/hello',handle: function (req,res,next) {
  3. res.writeHead(200,{'Content-Type': 'text/plain'});
  4. res.end("hello world");
  5. return;
  6. }.future ()
  7. });

猜你在找的Bootstrap相关文章