Browsersync中间件:从发布请求redirect

我们正在开发中使用浏览器同步。 对于付款确认,付款提供商回复预定义的url。

问题是,Browsersync只显示Cannot POST /payment/success

所以我正在考虑编写一个接受POST请求并redirect到GET请求的同一个URL的中间件。 问题是,我不确定这是否可能与浏览器同步。 当我尝试调用res.redirect('/')会抛出一个错误:

  browserSync.init server: baseDir: "...." index: "/statics/master.html" middleware: [ modRewrite(['!\\.\\w+$ /statics/master.html [L]']), (req, res, next) -> res.redirect('/') # this throws a TypeError: res.redirect is not a function ] 
  1. 为什么没有定义res.redirect ? 我以为浏览器同步是基于快递?
  2. 我怎样才能访问发布请求的正文? req.body返回undefined

browserSync使用Connect作为中间件,并不像Express看起来那样共享相同的api。

对于redirect,您至less可以执行以下操作:

 res.writeHead(301, {Location: url}); res.end(); 

看看他们的文档访问请求主体。 Middleware关于bodyparsing的部分可能会给你一些结果。