Да fs.readdir
не может этого сделать в настоящее время.
Я подал сообщение об ошибке с Node.js и выглядит так, что это может быть хорошей возможностью для добавления.
Использование локальных файлов Workbox вместо CDN Если вы не хотите использовать CDN, достаточно легко переключиться на файлы Workbox, размещенные в вашем собственном домене.
Самый простой подход - получить файлы с помощью команды copyLibraries или из GitHub Release workbox-cli, а затем указать workbox-sw, где найти эти файлы, с помощью параметра конфигурации modulePathPrefix.
Если вы поместите файлы в / third_party / workbox / , вы будете использовать их так:
importScripts('/third_party/workbox/workbox-sw.js');
workbox.setConfig({
modulePathPrefix: '/third_party/workbox/'
});
При этом вы будете использовать только локальные файлы Workbox.
передняя ссылка https://developers.google.com/web/tools/workbox/modules/workbox-sw#using_local_workbox_files_instead_of_cdn
Я не нашел правильного решения для этого, поэтому я использовал два механизма для достижения аналогичного эффекта:
sed -i -e 's#https://storage[.]googleapis[.]com/workbox-cdn/releases/[0-9.]*/workbox-sw.js#/workbox/workbox-sw.js#g' build/service-worker.js
Первая часть решения немного уродливая, и я все равно был бы заинтересован в лучшем способе, но это лучший метод, который я мог бы найти, не выбрасывая CRA.