Установите минимальный тип сети (WLAN) для кэширования Progressive Web App - PullRequest
4 голосов
/ 04 февраля 2020

Я создал PWA через Vue CLI, который использует внешний API. Ответы API должны кэшироваться для автономного доступа.

Из документов https://cli.vuejs.org/core-plugins/pwa.html#configuration Я создал файл vue .config. js в root directory

module.exports = {
  publicPath: '/pwa',
  pwa: {
    appleMobileWebAppCapable: 'yes',
    workboxPluginMode: 'GenerateSW',
    workboxOptions: {
      runtimeCaching: [
        {
          urlPattern: new RegExp('^https://example.com/'),
          handler: 'networkFirst', // Network first, Cache fallback
          options: {
            networkTimeoutSeconds: 5,
            cacheName: 'api-cache',
            cacheableResponse: {
              statuses: [0, 200],
            },
          },
        },
      ],
    },
  },
};

Проект работает нормально, но я хочу избежать загрузки данных из API при очень плохом соединении.

Я хочу загружать данные только по сетевому соединению WLAN. Есть ли способ расширить конфигурацию и настроить тип сети для обнаружения? Конфигурация должна называться

сначала использовать сеть, но только с WLAN, в противном случае использовать кэш в качестве запасного варианта

...