использовать рабочий ящик без использования CDN - PullRequest
0 голосов
/ 12 февраля 2019

Кто-нибудь знает, как использовать рабочий ящик, не получая его из CDN?Я пробовал это ...

добавить workbox-cli к моим зависимостям:

    "workbox-cli": "^3.6.3"

, что дает мне все следующие зависимости

$ ls node_modules | grep workbox
workbox-background-sync
workbox-broadcast-cache-update
workbox-build
workbox-cacheable-response
workbox-cache-expiration
workbox-cli
workbox-core
workbox-google-analytics
workbox-navigation-preload
workbox-precaching
workbox-range-requests
workbox-routing
workbox-strategies
workbox-streams
workbox-sw

Затем я заменил этов примерах

importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.6.1/workbox-sw.js');

с этим

importScripts('workbox-sw.js');

после копирования node_modules/workbox-sw/build/workbox-sw.js в общую папку

Но теперь я понимаю, просматривая вкладку сети,что этот файл все еще получает все остальные модули из cdn

network tab

(я думал, что он будет собран со всем внутри него.)

Может кто-нибудь сказать мне, есть ли где-нибудь пакет npm, в котором уже есть все?Или мне нужно скопировать нужные мне модули из папки npm и как-нибудь связать их все вместе?Или я должен использовать плагин webpack?(который, я думаю, будет включать в себя только те модули, которые я использую)

1 Ответ

0 голосов
/ 13 февраля 2019

Есть еще один шаг, который требуется.« Использование локальных файлов Workbox вместо CDN » содержит следующую информацию:

Если вы не хотите использовать CDN, достаточно легко переключиться на файлы Workbox, размещенные наВаш собственный домен.

Простейший подход - получить файлы с помощью команды copyLibraries workbox-cli * или из GitHub Release, а затем сообщить workbox-sw, где найти эти файлы черезопция конфигурации modulePathPrefix.

Если вы поместите файлы в / third_party / workbox /, вы будете использовать их следующим образом:

importScripts('/third_party/workbox/workbox-sw.js');

workbox.setConfig({modulePathPrefix: '/third_party/workbox/'});

При этом вы будете использовать только локальный Workboxфайлы.

...