Javascript 如何使用http代理中间件从browsersync重定向/代理相对url?

Javascript 如何使用http代理中间件从browsersync重定向/代理相对url?,javascript,gulp,middleware,browser-sync,node-http-proxy,Javascript,Gulp,Middleware,Browser Sync,Node Http Proxy,我有一个使用browsersync(带gulp)测试html模板的设置。现在我有了一个html模板,它有一个带有相对路径的链接标记:。/css/style.css 模板位于子文件夹/service/iframe中 我想使用中间件(或其他解决方案)将请求从/service/css/style.css重定向到/css/\u selfservice/style.css。但我就是不明白这是怎么做到的 我现在所拥有的: ... var proxyOptions = proxyMiddleware('/s

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

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

我想使用中间件(或其他解决方案)将请求从
/service/css/style.css
重定向到
/css/\u 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 ]

    }


});

任何帮助都将不胜感激

http代理中间件
是一种代理,它将(某些)请求代理到
目标
服务器。它提供了一些额外的功能,可以在需要时重写路径

已更正您的
路径重写
配置。 您只需要设置正确的目标服务器。我在示例中使用了“”:

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


或者;如果不需要将请求代理到另一台服务器,您可以使用:


非常感谢。这节省了我很多时间!
var rewriteModule = require('http-rewrite-middleware');
var rewriteMiddleware = rewriteModule.getMiddleware([
    {from: '^/service/css/(.*)$', to: '/css/_selfservice/$1'}
]);