Модуль workbox-build интегрируется в процесс сборки на основе узлов и может генерировать весь сервис-воркер или просто генерировать список ресурсов для предварительного кэширования, которые можно использовать в существующем сервис-воркере.
 Два режима, которые будут использовать большинство разработчиков, — generateSW и injectManifest . Ответы на следующие вопросы помогут вам выбрать правильный режим и конфигурацию.
Какой режим использовать
 generateSW
 Режим generateSW создает для вас рабочий файл службы, настраиваемый с помощью параметров конфигурации, и записывает его на диск.
 Когда generateSW
- Вы хотите предварительно кэшировать файлы.
- У вас есть простые потребности в кэшировании во время выполнения.
 Когда НЕ использовать generateSW
- Вы хотите использовать другие функции Service Worker (например, Web Push ).
- Вы хотите импортировать дополнительные сценарии или добавить дополнительную логику для пользовательских стратегий кэширования.
 injectManifest
 Режим injectManifest сгенерирует список URL-адресов для предварительного кэширования и добавит этот манифест предварительного кэширования в существующий файл Service Worker. В противном случае файл останется как есть.
 Когда использовать injectManifest
- Вы хотите больше контроля над своим сервисным работником.
- Вы хотите предварительно кэшировать файлы.
- Вам необходимо настроить маршрутизацию и стратегии.
- Вы хотели бы использовать своего сервис-воркера с другими функциями платформы (например, Web Push ).
 Когда НЕ использовать injectManifest
- Вам нужен самый простой путь добавления сервисного работника на ваш сайт.
 режим generateSW
 Вы можете использовать режим generateSW в сценарии сборки на основе узлов, используя наиболее распространенные параметры конфигурации , например:
// Inside of build.js:
const {generateSW} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
generateSW({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  navigateFallback: '...',
  runtimeCaching: [{
    // Routing via a matchCallback function:
    urlPattern: ({request, url}) => ...,
    handler: '...',
    options: {
      cacheName: '...',
      expiration: {
        maxEntries: ...,
      },
    },
  }, {
    // Routing via a RegExp:
    urlPattern: new RegExp('...'),
    handler: '...',
    options: {
      cacheName: '...',
      plugins: [..., ...],
    },
  }],
  skipWaiting: ...,
  swDest: '...',
}).then(({count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while generating a service worker:',
      warnings.join('\n')
    );
  }
  console.log(`Generated a service worker, which will precache ${count} files, totaling ${size} bytes.`);
});
Это создаст сервис-воркер с настройкой предварительного кэширования для всех файлов, выбранных вашей конфигурацией, и предоставленными правилами кэширования во время выполнения.
Полный набор возможностей конфигурации можно найти в справочной документации .
 Режим injectManifest
 Вы можете использовать режим injectManifest в сценарии сборки на основе узлов, используя наиболее распространенные параметры конфигурации , например:
// Inside of build.js:
const {injectManifest} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
injectManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  swDest: '...',
  swSrc: '...',
}).then(({count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while injecting the manifest:',
      warnings.join('\n')
    );
  }
  console.log(`Injected a manifest which will precache ${count} files, totaling ${size} bytes.`);
});
Это создаст манифест предварительного кэширования на основе файлов, выбранных вашей конфигурацией, и внедрит его в существующий рабочий файл службы.
Полный набор возможностей конфигурации можно найти в справочной документации .
Дополнительные режимы
 Мы ожидаем, generateSW или injectManifest удовлетворят потребности большинства разработчиков. Однако существует еще один режим, поддерживаемый workbox-build , который может подойти для определенных случаев использования.
 Режим getManifest
 Концептуально это похоже на режим injectManifest , но вместо добавления манифеста в исходный рабочий файл службы он возвращает массив записей манифеста, а также информацию о количестве записей и общем размере.
 Вы можете использовать режим injectManifest в сценарии сборки на основе узлов, используя наиболее распространенные параметры конфигурации , например:
// Inside of build.js:
const {getManifest} = require('workbox-build');
// These are some common options, and not all are required.
// Consult the docs for more info.
getManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
}).then(({manifestEntries, count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while getting the manifest:',
      warnings.join('\n')
    );
  }
  // Do something with the manifestEntries, and potentially log count and size.
});
Полный набор возможностей конфигурации можно найти в справочной документации .
Типы
BasePartial
Характеристики
- Дополнительные записи манифеста(строка | ManifestEntry )[] необязательно Список записей, подлежащих предварительному кэшированию, в дополнение к любым записям, созданным как часть конфигурации сборки. 
- dontCacheBustURLsMatchingRegExp необязательно Предполагается, что ресурсы, соответствующие этому значению, имеют уникальную версию через свой URL-адрес и освобождены от обычной очистки HTTP-кеша, которая выполняется при заполнении предварительного кэша. Хотя это и не обязательно, рекомендуется, чтобы, если существующий процесс сборки уже вставляет значение [hash]в каждое имя файла, вы предоставили RegExp, который обнаружит это, поскольку это уменьшит потребление полосы пропускания при предварительном кэшировании.
- манифесттрансформсManifestTransform [] необязательно Одна или несколько функций, которые будут последовательно применяться к сгенерированному манифесту. Если также указаны modifyURLPrefixилиdontCacheBustURLsMatching, сначала будут применены соответствующие преобразования.
- Максимальныйфилесизетокачеинбайтесномер необязательно Значение по умолчанию: 2097152. Это значение можно использовать для определения максимального размера файлов, которые будут предварительно кэшироваться. Это предотвращает случайное предварительное кэширование очень больших файлов, которые могли случайно соответствовать одному из ваших шаблонов. 
- изменитьURLPrefixобъект необязательный Строка сопоставления объекта является префиксом для замещающих строковых значений. Это можно использовать, например, для удаления или добавления префикса пути из записи манифеста, если настройки вашего веб-хостинга не соответствуют настройкам вашей локальной файловой системы. В качестве альтернативы, более гибкой, вы можете использовать параметр manifestTransformsи предоставить функцию, которая изменяет записи в манифесте, используя любую предоставленную вами логику.Пример использования: // Replace a '/dist/' prefix with '/', and also prepend // '/static' to every URL. modifyURLPrefix: { '/dist/': '/', '': '/static', }
BuildResult
Тип
 Опустить < GetManifestResult "manifestEntries"
 > & объект 
Характеристики
- пути к файламнить[] 
GeneratePartial
Характеристики
- BabelPresetEnvTargetsстрока[] необязательно Значение по умолчанию: ["chrome >= 56"] Цели, которые необходимо передать в babel-preset-envпри передаче пакета Service Worker.
- идентификатор кэшастрока необязательна Необязательный идентификатор, добавляемый к имени кэша. Это в первую очередь полезно для локальной разработки, когда несколько сайтов могут обслуживаться из одного источника http://localhost:port.
- очисткаУстаревшиекешилогическое значение необязательно Значение по умолчанию: ложь. Должен ли Workbox пытаться идентифицировать и удалить любые прекеши, созданные более старыми несовместимыми версиями. 
- КлиентыПретензиялогическое значение необязательно Значение по умолчанию: ложь. Должен ли сервисный работник начинать контролировать существующих клиентов сразу после его активации. 
- индекс каталогастрока необязательна Если запрос навигации для URL-адреса, заканчивающегося на /не соответствует предварительно кэшированному URL-адресу, это значение будет добавлено к URL-адресу и будет проверено на совпадение с предварительно кэшированным URL. Это должно быть установлено на то, что ваш веб-сервер использует для своего индекса каталога.
- отключить DevLogsлогическое значение необязательно Значение по умолчанию: ложь. 
- игнорироватьURLParametersMatchingRegExp[] необязательно Любые имена параметров поиска, совпадающие с одним из регулярных выражений в этом массиве, будут удалены перед поиском соответствия предварительному кэшированию. Это полезно, если ваши пользователи могут запрашивать URL-адреса, содержащие, например, параметры URL-адресов, используемые для отслеживания источника трафика. Если не указано, значение по умолчанию — [/^utm_/, /^fbclid$/].
- импортскриптыстрока[] необязательно Список файлов JavaScript, которые следует передать в importScripts()внутри сгенерированного файла сервисного работника. Это полезно, если вы хотите, чтобы Workbox создал рабочий файл службы верхнего уровня, но хотите включить некоторый дополнительный код, например прослушиватель push-событий.
- inlineWorkboxRuntimeлогическое значение необязательно Значение по умолчанию: ложь. Должен ли код среды выполнения библиотеки Workbox быть включен в сервис-воркера верхнего уровня или разделен на отдельный файл, который необходимо развернуть вместе с сервис-воркером. Разделение среды выполнения означает, что пользователям не придется повторно загружать код Workbox каждый раз, когда изменяется ваш сервис-воркер верхнего уровня. 
- режимстрока необязательна Значение по умолчанию: «производство». Если установлено значение «производство», будет создан оптимизированный пакет сервисного работника, исключающий информацию об отладке. Если здесь не указано явно, будет использоваться process.env.NODE_ENV, а в случае неудачи оно вернется к'production'.
- строка необязательна - Значение по умолчанию: ноль. - Если указано, все запросы навигации для URL-адресов, которые не кэшируются предварительно, будут выполняться с использованием HTML-кода по указанному URL-адресу. Вы должны передать URL-адрес HTML-документа, который указан в вашем манифесте предварительного кэширования. Это предназначено для использования в сценарии одностраничного приложения, в котором вы хотите, чтобы все элементы навигации использовали общий HTML-код оболочки приложения . 
- RegExp[] необязательно - Необязательный массив регулярных выражений, ограничивающий URL-адреса, к которым применяется настроенное поведение - navigateFallback. Это полезно, если только часть URL-адресов вашего сайта следует рассматривать как часть одностраничного приложения . Если настроены оба —- navigateFallbackDenylistи- navigateFallbackAllowlist, список запретов имеет приоритет.- Примечание . Эти регулярные выражения можно оценивать по каждому целевому URL-адресу во время навигации. Избегайте использования сложных регулярных выражений , иначе ваши пользователи могут столкнуться с задержками при навигации по вашему сайту. 
- RegExp[] необязательно - Необязательный массив регулярных выражений, ограничивающий URL-адреса, к которым применяется настроенное поведение - navigateFallback. Это полезно, если только часть URL-адресов вашего сайта следует рассматривать как часть одностраничного приложения . Если настроены оба- navigateFallbackDenylistи- navigateFallbackAllowlist, список запретов имеет приоритет.- Примечание . Эти регулярные выражения можно оценивать по каждому целевому URL-адресу во время навигации. Избегайте использования сложных регулярных выражений , иначе ваши пользователи могут столкнуться с задержками при навигации по вашему сайту. 
- логическое значение необязательно - Значение по умолчанию: ложь. - Включить или нет предварительную загрузку навигации в сгенерированном сервисном работнике. Если установлено значение true, вы также должны использовать - runtimeCachingдля настройки соответствующей стратегии ответа, которая будет соответствовать запросам навигации, и использовать предварительно загруженный ответ.
- оффлайнGoogle Analyticsлогическое | GoogleAnalyticsInitializeOptions необязательно. Значение по умолчанию: ложь. Определяет, включать ли поддержку автономного Google Analytics . Если true, вызов методаinitialize()workbox-google-analyticsбудет добавлен к созданному сервисному работнику. Если установлено значениеObject, этот объект будет передан в вызовinitialize(), что позволит вам настроить поведение.
- Кэширование во время выполненияRuntimeCaching [] необязательно При использовании инструментов сборки Workbox для создания сервис-воркера вы можете указать одну или несколько конфигураций кэширования во время выполнения. Затем они преобразуются в вызовы workbox-routing.registerRouteс использованием заданной вами конфигурации соответствия и обработчика.Все параметры см. в документации workbox-build.RuntimeCaching. В приведенном ниже примере показана типичная конфигурация с двумя определенными маршрутами времени выполнения:
- пропуститьОжиданиелогическое значение необязательно Значение по умолчанию: ложь. Добавлять ли безусловный вызов skipWaiting()к созданному сервисному работнику. Еслиfalse, то вместо этого будет добавлен прослушивательmessage, позволяющий клиентским страницам запускатьskipWaiting()путем вызоваpostMessage({type: 'SKIP_WAITING'})у ожидающего сервисного работника.
- исходная карталогическое значение необязательно Значение по умолчанию: true Создавать ли исходную карту для созданных файлов сервис-воркера. 
GenerateSWOptions
Тип
GetManifestOptions
GetManifestResult
Характеристики
- считатьчисло 
- манифестЗаписи
- размерчисло 
- предупреждениянить[] 
GlobPartial
Характеристики
- globFollowлогическое значение необязательно Значение по умолчанию: true Определяет, будут ли использоваться символические ссылки при создании манифеста предварительного кэширования. Дополнительные сведения см. в определении followв документацииglob.
- globIgnoresстрока[] необязательно Значение по умолчанию: ["**\/node_modules\/**\/*"] Набор шаблонов, соответствующих файлам, которые всегда исключаются при создании манифеста предварительного кэширования. Дополнительную информацию см. в определении ignoreв документацииglob.
- globPatternsстрока[] необязательно Значение по умолчанию: ["**\/*.{js,wasm,css,html}"] Файлы, соответствующие любому из этих шаблонов, будут включены в манифест предварительного кэша. Дополнительную информацию см. в руководстве glob.
- globStrictлогическое значение необязательно Значение по умолчанию: true Если это правда, ошибка чтения каталога при создании манифеста предварительного кэширования приведет к сбою сборки. Если false, проблемный каталог будет пропущен. Для получения дополнительной информации см. определение strictв документацииglob.
- шаблонные URL-адресаобъект необязательный Если URL-адрес отображается на основе какой-либо серверной логики, его содержимое может зависеть от нескольких файлов или другого уникального строкового значения. Ключи в этом объекте представляют собой URL-адреса, отображаемые сервером. Если значения представляют собой массив строк, они будут интерпретироваться как шаблоны glob, а содержимое любых файлов, соответствующих шаблонам, будет использоваться для уникальной версии URL-адреса. Если используется с одной строкой, она будет интерпретироваться как уникальная информация о версии, созданная вами для данного URL-адреса.
InjectManifestOptions
Тип
InjectPartial
Характеристики
- точка впрыскастрока необязательна Значение по умолчанию: «self.__WB_MANIFEST». Строка, которую нужно найти внутри файла swSrc. После обнаружения он будет заменен сгенерированным манифестом прекэша.
- swSrcнить Путь и имя файла сервисного рабочего, который будет считываться в процессе сборки, относительно текущего рабочего каталога. 
ManifestEntry
Характеристики
- честностьстрока необязательна 
- пересмотрнить 
- URLнить 
ManifestTransform()
workbox-build.ManifestTransform(
manifestEntries: (ManifestEntry & object)[],
compilation?: unknown,
): Promise<ManifestTransformResult> | ManifestTransformResult
Тип
функция
Параметры
- манифестЗаписи( ManifestEntry и объект)[] - размерчисло 
 
- компиляциянеизвестно, необязательно 
Возврат
ManifestTransformResult
Характеристики
- манифестировать( ManifestEntry и объект)[] - размерчисло 
 
- предупреждениястрока[] необязательно 
OptionalGlobDirectoryPartial
Характеристики
- globDirectoryстрока необязательна Локальный каталог, с которым вы хотите сопоставить globPatterns. Путь указывается относительно текущего каталога.
RequiredGlobDirectoryPartial
Характеристики
- globDirectoryнить Локальный каталог, с которым вы хотите сопоставить globPatterns. Путь указывается относительно текущего каталога.
RequiredSWDestPartial
Характеристики
- swDestнить Путь и имя файла сервисного рабочего, который будет создан в процессе сборки, относительно текущего рабочего каталога. Он должен заканчиваться на «.js». 
RuntimeCaching
Характеристики
- обработчикЭто определяет, как маршрут времени выполнения будет генерировать ответ. Чтобы использовать одну из встроенных workbox-strategies, укажите ее имя, например'NetworkFirst'. Альтернативно это может быть функция обратного вызоваworkbox-core.RouteHandlerс настраиваемой логикой ответа.
- методHTTPMethod необязательно Значение по умолчанию: «GET». HTTP-метод для сопоставления. Значения по умолчанию 'GET'обычно достаточно, если только вам явно не нужно сопоставить'POST','PUT'или другой тип запроса.
- параметрыобъект необязательный - фоновая синхронизацияобъект необязательный При этой настройке экземпляр workbox-background-sync.BackgroundSyncPluginбудет добавлен вworkbox-strategiesнастроенные вhandler.- имянить 
- параметрыQueueOptions необязательно 
 
- трансляцияОбновитьобъект необязательный При этой настройке экземпляр workbox-broadcast-update.BroadcastUpdatePluginбудет добавлен кworkbox-strategiesнастроенным вhandler.- имя каналастрока необязательна 
- параметры
 
- имя кэшастрока необязательна Если это предусмотрено, будет установлено свойство cacheNameworkbox-strategiesнастроенных вhandler.
- кэшируемыйОтветCacheableResponseOptions необязательно При этой настройке экземпляр workbox-cacheable-response.CacheableResponsePluginбудет добавлен кworkbox-strategiesнастроенным вhandler.
- истечение срока действияПараметры ExpirationPluginOptions необязательны. При этой настройке экземпляр workbox-expiration.ExpirationPluginбудет добавлен кworkbox-strategiesнастроенным вhandler.
- параметры выборкиRequestInit необязательно При этой настройке значение fetchOptionsбудет переданоworkbox-strategiesнастроенным вhandler.
- параметры совпаденияCacheQueryOptions необязательно При этой настройке значение matchOptionsбудет переданоworkbox-strategiesнастроенным вhandler.
- сетьTimeoutSecondsномер необязательно Если это предусмотрено, будет установлено свойство networkTimeoutSecondsworkbox-strategiesнастроенных вhandler. Обратите вниманиеnetworkTimeoutSecondsчто только'NetworkFirst'поддерживаются только'NetworkOnly'.
- плагиныWorkboxPlugin [] необязательно Эта настройка позволяет использовать один или несколько плагинов Workbox, у которых нет опций «ярлыка» (например, expirationдляworkbox-expiration.ExpirationPlugin). Предоставленные здесь плагины будут добавлены кworkbox-strategiesнастроенным вhandler.
- PrecacheFallbackобъект необязательный При этой настройке экземпляр workbox-precaching.PrecacheFallbackPluginбудет добавлен вworkbox-strategiesнастроенные вhandler.- резервный URL-адреснить 
 
- диапазонЗапросылогическое значение необязательно Включение этого параметра добавит экземпляр workbox-range-requests.RangeRequestsPluginкworkbox-strategiesнастроенным вhandler.
 
- urlPatternстрока | регэксп | МаршрутMatchОбратный вызов Этот критерий соответствия определяет, будет ли настроенный обработчик генерировать ответ на любые запросы, которые не соответствуют одному из предварительно кэшированных URL-адресов. Если определено несколько маршрутов RuntimeCaching, то первым будет отвечать тот, чейurlPatternсоответствует.Это значение напрямую соответствует первому параметру, переданному в workbox-routing.registerRoute. Для большей гибкости рекомендуется использовать функциюworkbox-core.RouteMatchCallback.
StrategyName
Перечисление
 «КэшФерст»   «Только кэш»   «СетьФерст»   «Только сеть»   "StaleWhileRevalidate" 
WebpackGenerateSWOptions
WebpackGenerateSWPartial
Характеристики
- импортскриптсвиачанксстрока[] необязательно Одно или несколько имен фрагментов веб-пакета. Содержимое этих фрагментов будет включено в сгенерированный сервис-воркер посредством вызова importScripts().
- swDestстрока необязательна Значение по умолчанию: «service-worker.js». Имя ресурса файла сервисного работника, созданного этим плагином. 
WebpackInjectManifestOptions
WebpackInjectManifestPartial
Характеристики
- компилироватьSrcлогическое значение необязательно Значение по умолчанию: true Если true(по умолчанию), файлswSrcбудет скомпилирован веб-пакетом. Еслиfalse, компиляция не произойдет (и использоватьwebpackCompilationPluginsневозможно). Установите значениеfalseесли вы хотите внедрить манифест, например, в файл JSON.
- swDestстрока необязательна Имя ресурса рабочего файла службы, который будет создан этим плагином. Если этот параметр опущен, имя будет основано на имени swSrc.
- webpackКомпиляцияПлагинылюбой[] необязательно Дополнительные плагины webpack, которые будут использоваться при компиляции входного файлаswSrc. Действует только в том случае, еслиcompileSrcимеетtrue.
WebpackPartial
Характеристики
- кускистрока[] необязательно Одно или несколько имен фрагментов, соответствующие выходные файлы которых должны быть включены в манифест предварительного кэширования. 
- исключать(строка | RegExp | функция)[] необязательно Один или несколько спецификаторов, используемых для исключения ресурсов из манифеста предварительного кэширования. Это интерпретируется по тем же правилам, что и стандартная опция excludewebpack. Если не указано, значение по умолчанию —[/\.map$/, /^manifest.*\.js$].
- исключить кускистрока[] необязательно Одно или несколько имен фрагментов, соответствующие выходные файлы которых следует исключить из манифеста предварительного кэширования. 
- включать(строка | RegExp | функция)[] необязательно Один или несколько спецификаторов, используемых для включения ресурсов в манифест предварительного кэширования. Это интерпретируется по тем же правилам, что и стандартная опция includewebpack.
- режимстрока необязательна Если установлено значение «производство», будет создан оптимизированный пакет сервисного работника, исключающий информацию об отладке. Если здесь не указано явно, будет использоваться значение mode, настроенное в текущей компиляцииwebpack.
Методы
copyWorkboxLibraries()
workbox-build.copyWorkboxLibraries(
destDirectory: string,
): Promise<string>
При этом набор библиотек времени выполнения, используемых Workbox, копируется в локальный каталог, который следует развернуть вместе с вашим рабочим файлом службы.
В качестве альтернативы развертыванию этих локальных копий вы можете использовать Workbox с официального URL-адреса CDN.
 Этот метод предоставляется для разработчиков, использующих workbox-build.injectManifest , которые предпочитают не использовать копии Workbox из CDN. Разработчикам, использующим workbox-build.generateSW не нужно явно вызывать этот метод. 
Параметры
- destDirectoryнить Путь к родительскому каталогу, в котором будет создан новый каталог библиотек. 
Возврат
- Обещание<строка> - Имя вновь созданного каталога. 
generateSW()
workbox-build.generateSW(
config: GenerateSWOptions,
): Promise<BuildResult>
Этот метод создает список URL-адресов для предварительного кэширования, называемый «манифестом предварительного кэширования», на основе предоставленных вами параметров.
 Он также принимает дополнительные параметры, которые настраивают поведение сервис-воркера, как и любые правила runtimeCaching которые он должен использовать.
 На основе манифеста предварительного кэширования и дополнительной конфигурации он записывает на диск готовый к использованию сервисный рабочий файл по адресу swDest .
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, size, warnings} = await generateSW({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  navigateFallback: '...',
  runtimeCaching: [{
    // Routing via a matchCallback function:
    urlPattern: ({request, url}) => ...,
    handler: '...',
    options: {
      cacheName: '...',
      expiration: {
        maxEntries: ...,
      },
    },
  }, {
    // Routing via a RegExp:
    urlPattern: new RegExp('...'),
    handler: '...',
    options: {
      cacheName: '...',
      plugins: [..., ...],
    },
  }],
  skipWaiting: ...,
  swDest: '...',
});
Параметры
- конфигурация
Возврат
- Обещание <BuildResult> 
getManifest()
workbox-build.getManifest(
config: GetManifestOptions,
): Promise<GetManifestResult>
Этот метод возвращает список URL-адресов для предварительного кэширования, называемый «манифестом предварительного кэширования», а также сведения о количестве записей и их размере в зависимости от предоставленных вами параметров.
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, manifestEntries, size, warnings} = await getManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
});
Параметры
- конфигурация
Возврат
- Обещание < GetManifestResult > 
getModuleURL()
workbox-build.getModuleURL(
moduleName: string,
buildType: BuildType,
): string
Параметры
- имя модулянить 
- тип сборкитип сборки 
Возврат
- нить 
injectManifest()
workbox-build.injectManifest(
config: InjectManifestOptions,
): Promise<BuildResult>
Этот метод создает список URL-адресов для предварительного кэширования, называемый «манифестом предварительного кэширования», на основе предоставленных вами параметров.
 Манифест вводится в файл swSrc , а строка-заполнитель injectionPoint определяет, в каком месте файла должен находиться манифест.
 Окончательный файл сервисного работника с внедренным манифестом записывается на диск по адресу swDest .
 Этот метод не будет компилировать или связывать ваш файл swSrc ; он просто обрабатывает внедрение манифеста. 
// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, size, warnings} = await injectManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  swDest: '...',
  swSrc: '...',
});
Параметры
- конфигурация
Возврат
- Обещание <BuildResult>