Полимер CLI Build | Методы уничтожения кэша

Немного предыстории: мое приложение построено на Polymer 2.x и размещено на сервере, который не поддерживает HTTP/2 и не имеет сертификата для HTTPS. Мы должны поддерживать IE11, Chrome, Firefox и Safari.

Проблема: у меня проблема с кэшированием браузера. Я надеялся использовать работника сервиса, который генерирует CLI Polymer, для обработки кеша. Однако, так как на сервере нашего клиента не включен HTTPS, мы не можем его использовать. Несмотря на это, мы должны поддерживать IE 11 в одной сборке, поэтому сервисные работники не вариант.

Я не могу найти способ разрушить кеш при новых развертываниях. На странице Polymer CLI github есть открытая проблема по этой теме, но с 2016 года не было никакой тяги. От просмотра видео YouTube на Polymer, похоже, есть (или был) способ перехватить сборка с использованием Gulp, но я не могу понять это.

Любая помощь очень ценится!

3 ответа

Вы можете использовать polymer-build библиотека, если вы хотите построить проект Polymer, используя gulp, Вы можете прочитать об этом здесь:

https://github.com/Polymer/polymer-build

Кратко упомянуто в документации здесь:

https://www.polymer-project.org/2.0/toolbox/build-for-production

Тогда вы можете кэшировать бюст, используя что-то вроде gulp-rev, но вы должны убедиться, что вы не переписываете имена пользовательских элементов, а только имена файлов и пути импорта. (Я попробовал это один раз с gulp-rev-allи по умолчанию он заменял <app-header> с <app-header-a9fe00> или что-то типа того.)

При создании прогона сборки polymer build sw-precache-config.js

Я создал gulp-polymer-build, чтобы помочь с этой проблемой. Заимствует из polymer-cli build код, и поддерживает ваши конфигурации сборки в polymer.json, Это позволяет вам изменять исходный поток перед сборкой, а затем изменять разветвленные потоки для всех сборок, которые вы настроили в polymer.json, Это облегчает использование gulp-rev а также gulp-rev-replace сделать управление активами.

Другие вопросы по тегам