Workbox — Как игнорировать URI, соответствующие префиксу

#webpack #service-worker #webpack-dev-server #workbox

#webpack #service-worker #webpack-dev-server #workbox

Вопрос:

Я использую webpack-dev-server и определил devServer поле в webpack.config.js :

 devServer: {
  host: "0.0.0.0",
  port: "80",
  proxy: {
    "/api": {
      target: "http://api:4000",
      pathRewrite: { "^/api": "" },
    },
  },
  historyApiFallback: true,
},
  

Мой sw.js файл:

 import { precacheAndRoute, createHandlerBoundToURL } from "workbox-precaching";
import { NavigationRoute, registerRoute } from "workbox-routing";

precacheAndRoute(self.__WB_MANIFEST);

const handler = createHandlerBoundToURL("/index.html");
const navigationRoute = new NavigationRoute(handler);
registerRoute(navigationRoute);
  

По какой-то причине, когда установлен server worker, я не могу найти совпадающий URI /api/* . Однако, когда я отменяю регистрацию service worker, я могу использовать /api прокси.

Как я могу настроить service worker через workbox , чтобы он не обрабатывал URI, начинающийся с /api/ ?