Как я могу настроить Quasar для передачи, обслуживания и создания только указанных файлов c ES6 JavaScript? - PullRequest
1 голос
/ 10 февраля 2020

Проблема заключается в следующем (это происходит из-за некоторых ограничений API ServiceWorkers): API ServiceWorkers в настоящее время не поддерживает импорт ES6 (Это будет в Chrome 80, но в текущей стабильной версии 79 это не так. Это означает, что что пользователям потребуется больше года, чтобы обновить свои телефоны и браузеры).

Мне нужно импортировать некоторые пользовательские классы ES6, которые будут использоваться в ServiceWorker.

При конфигурации по умолчанию Quasar будет либо обслуживать файл /service-worker.js при запуске quasar dev, либо создавать его при запуске quasar build. Квазар может автоматически переносить ваш custom-service-worker.js, но, к сожалению, этого не происходит. Следующий абзац объясняет, почему это не так.

(точнее, c Я создаю PWA.) Недостаток Quasar в том, что для этой цели он использует GoogleChrome/workbox внутренне ( Возможности Workbox довольно хороши для проекта, но, как это происходит с большинством продуктов Google, его поддержка слабая и имеет 1-2 больших недостатка). См .: https://github.com/GoogleChrome/workbox/issues/1513 Итак, под капотом Квазар использует свои workbox-webpack-plugin. Он состоит из двух классов с именем GenerateSW и InjectManifest. Ни один из них не может быть сконфигурирован таким образом, чтобы происходила автоматическая c передача из ES6 в ES5.

Очевидно, что для меня решение состоит в том, чтобы создать другую конфигурацию NPM \ Webpack и использовать ее для создавайте только эти файлы, никоим образом не влияя на конфигурацию Quasar.

Однако основным недостатком последнего является то, что мне придется вручную (вне Quasar) создавать эти пользовательские классы ES6, которые я импортирую в ServiceWorker (после их транспортировки). Т.е. он нарушает естественный поток Quasar (например, просто используя qasar dev и quasar build), и эти файлы будут в активной разработке в течение длительного времени (поэтому это будет сильно тормозить разработку).

Мне трудно найти отправную точку реконфигурации. Настройка Webpack довольно сложна, и у меня не было достаточно времени, чтобы повозиться с ним, поэтому контекст Quasar делает его еще более сложным.

Как я могу заставить Quasar скомпилировать указанные c ES6 JavaScript файлы и обслуживать их так, как они обслуживают свои app.js, client-entry.js и import-quasar.js? Есть ли такой способ (если он есть, он немедленно решит мои проблемы с workbox-webpack-plugin)? Любые предложения в контексте Quasar или Webpack?

...