2015-12-04 7 views
1

У меня есть настройка, в которой я использую браузеры (с глотком) для тестирования шаблонов html. Теперь у меня есть html-шаблон, который имеет тег ссылки с относительным путем: ../css/style.css.Как перенаправить/прокси относительный URL-адрес браузера с помощью http-proxy-middleware?

Шаблон находится в подпапке /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 ] 

    } 


}); 

Любая помощь будет высоко ценится!

+0

Итак ... Никто ...? – SnailCrusher

ответ

1

http-proxy-middleware является прокси-сервером, который прокси (определенно) запрашивает сервер target. Он предлагает некоторые дополнительные функции для перезаписи путей, когда это необходимо.

Исправлена ​​Ваша конфигурация pathRewrite. Вам нужно установить правильный целевой сервер. Я использовал 'http://localhost:8000' в этом примере:

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

документации/Рецепт:

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


В качестве альтернативы; Если нет необходимости проксировать запрос на другой сервер, вы можете использовать: https://www.npmjs.com/package/http-rewrite-middleware

var rewriteModule = require('http-rewrite-middleware'); 
var rewriteMiddleware = rewriteModule.getMiddleware([ 
    {from: '^/service/css/(.*)$', to: '/css/_selfservice/$1'} 
]); 
+0

Спасибо, кучка. Это сэкономило мне много времени! – KFunk