如何使用http-proxy-middleware从browsersync重定向/代理相对URL?

时间:2015-12-04 17:03:16

标签: javascript gulp middleware browser-sync node-http-proxy

我有一个设置,我使用browsersync(with gulp)来测试html模板。现在我有一个html模板,其中包含一个带有相对路径的链接标记:../css/style.css

该模板位于子文件夹/service/iframe

我想使用中间件(或其他解决方案)将请求从/service/css/style.css重定向到/css/_selfservice/style.css。但我无法弄清楚这是怎么做的......

我现在所拥有的:

...

var proxyOptions = proxyMiddleware('/service/css', {
    target: "/css/_selfservice",
    changeOrigin: true,
    pathRewrite: {
        '/service/css/' : ''      // remove old path
    }
});

...

browserSync( {

    server: {

        baseDir: './build',

        middleware: [ proxyOptions ]

    }


});

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

uksort($theArray, "myClass::sorterFunc"); 是一个代理,它代理(某些)http-proxy-middleware服务器的请求。它提供了一些额外的功能,可以在需要时重写路径。

更正了您的target配置。 您只需要设置正确的目标服务器。我使用了' http://localhost:8000'在示例中:

pathRewrite

文档/食谱:

https://github.com/chimurai/http-proxy-middleware/blob/master/recipes/pathRewrite.md

可替换地;如果没有必要将请求代理到另一台服务器,您可以使用:https://www.npmjs.com/package/http-rewrite-middleware

var proxyOptions = proxyMiddleware('/service/css', {
    target: 'http://localhost:8000',
    changeOrigin: true,
    pathRewrite: {
        '^/service/css/' : '/css/_selfservice'      // rewrite path
    }
});