Sw-precache предоставляет удобный механизм для создания
сервис-воркеров, автоматически кэширующих статические ресурсы
веб-приложений. Один из важных аспектов работы с этой библиотекой —
отслеживание процесса генерации сервис-воркера, что реализуется через
параметр verbose.
verboseПараметр verbose отвечает за степень
детализации выводимой информации во время работы Sw-precache. По
умолчанию Sw-precache выводит только минимальные сообщения об ошибках и
предупреждения. При установке verbose: true происходит
расширенное логирование, которое включает:
Это особенно полезно при отладке процесса кэширования, обнаружении лишних или пропущенных файлов и анализе производительности.
verbose в конфигурацииSw-precache поддерживает два способа задания конфигурации: через
объект при вызове API и через CLI. В обоих случаях параметр
verbose работает одинаково.
Пример через API:
const swPrecache = require('sw-precache');
swPrecache.write('service-worker.js', {
staticFileGlobs: [
'dist/**/*.html',
'dist/**/*.js',
'dist/**/*.css',
'dist/images/**/*.{png,jpg,gif,svg}'
],
stripPrefix: 'dist/',
verbose: true
});
В этом примере при генерации файла service-worker.js в
консоль будет выводиться информация обо всех найденных файлах, размерах
и путях.
Пример через CLI:
sw-precache --root=dist --static-file-globs="dist/**/*.{html,js,css,png,jpg,gif,svg}" --verbose
При запуске этой команды в терминале появится полный лог всех файлов, включаемых в кэш.
При verbose: true Sw-precache выводит лог в консоль
построчно. Каждая строка содержит:
Caching,
Skipping, Warning.stripPrefix.Пример логов:
Caching file: index.html (3.2 KB)
Caching file: main.js (45 KB)
Skipping file: temp.txt (excluded by pattern)
Warning: duplicate entry for file style.css
Такой формат позволяет быстро определить, какие файлы были включены, а какие пропущены.
verbose при сложной конфигурацииВ проектах с большим количеством ресурсов логирование становится критически важным для:
staticFileGlobs и
ignoreUrlParametersMatching.При этом verbose не влияет на финальный функционал
сервис-воркера: он только добавляет информационный вывод в консоль.
verbose: true может быть
очень объёмным. В таких случаях лог лучше перенаправлять в файл для
последующего анализа.verbose: false, чтобы избежать засорения
логов.verbose совместим со всеми основными опциями
Sw-precache, включая runtimeCaching,
navigateFallback и stripPrefix.const path = require('path');
const swPrecache = require('sw-precache');
const buildDir = path.join(__dirname, 'dist');
swPrecache.write(path.join(buildDir, 'service-worker.js'), {
staticFileGlobs: [
`${buildDir}/**/*.{html,js,css,png,jpg,gif,svg}`
],
stripPrefix: buildDir + '/',
navigateFallback: '/index.html',
verbose: true
});
В этом варианте, даже при множестве поддиректорий,
verbose позволяет полностью видеть, какие файлы попадут в
кэш, какие будут пропущены, и получать предупреждения о потенциальных
проблемах с конфигурацией.
Параметр verbose является важным инструментом для
контроля процесса генерации сервис-воркера, облегчает отладку и помогает
поддерживать корректность кэширования на всех этапах разработки.