Итак, хорошая новость в том, что вы уже импортируете Vuetify в режиме а-ля-карт . Это означает, что функции веб-упаковки, работающие на дереве, импортируют только те компоненты Vuetify, которые вы используете. Плохая новость заключается в том, что вы, вероятно, не сможете уменьшить размер пакета намного больше, чем это, но я бы не стал слишком беспокоиться, просто пока.
Если только пользователи вашего приложения не будут на ОЧЕНЬ медленных соединениях (например, на границе мобильной связи или коммутируемом соединении) они по-прежнему могут видеть время загрузки менее 1 с. Даже 3G-соединения должны загружаться за 3-4 секунды. Вот выходные данные команды vue run build
в пользовательском интерфейсе Vue для проекта, недавно созданного с помощью Vue CLI, т.е. vue create myapp
, за которым следует vue use vuetify
:
vue run build command in Vue UI">
Предупреждения о размере сборки из Vue CLI выглядят пугающе, но в основном они хотят, чтобы вы обратили внимание на пользователей, которые очень медленно подключаются.
Для дальнейшего сравнения, если бы вы НЕ использовали Vuetify в режиме «а-ля-карт» (тряска деревьев), ваш размер сборки для того же проекта будет выглядеть следующим образом:
Webpack Bundle Analyzer saved report to /Volumes/ClownCar/bentonmc/dev/playground-vuetify/dist/report.html
File Size Gzipped
dist/js/chunk-vendors.572394a1.js 964.61 KiB 227.31 KiB
dist/js/app.612913d1.js 8.41 KiB 3.35 KiB
dist/service-worker.js 1.05 KiB 0.61 KiB
dist/precache-manifest.e297dd70e114a19 0.86 KiB 0.38 KiB
dd9cc2b302d4a78ec.js
dist/js/about.7c7cb591.js 0.44 KiB 0.31 KiB
dist/css/chunk-vendors.173d6f78.css 35.10 KiB 5.86 KiB
Таким образом, вы можете видеть что при включенной функции встряхивания дерева размер вашей сборки составляет всего одну треть от того, что было бы без него.
Очень хорошо заботиться о размере пакета, и по возможности вам следует ленивый загрузить компоненты . Пользователям все равно придется в конечном итоге загружать компоненты, но этот метод может значительно уменьшить размер основного пакета и позволить компонентам, не видимым на домашней странице, загружаться в фоновом режиме.
Однако вы не можете загружать свои ленивые файлы. Из-за этого основной макет приложения (т. е. тот, который использует <v-app>
), и поэтому размер вашего комплекта должен быть больше рекомендованного целевого размера Vue. Довольно сложно создать быстрые, современные веб-приложения и уменьшить размер пакета до размеров, которые хорошо работают даже при самых медленных соединениях. Тем не менее, я считаю, что выгода от использования такой среды, как Vuetify, полностью стоит того.