Введение
Содержание, представленное в этой статье, включает в себя:
- Как использовать vue-cli3 для многостраничной настройки и построения и возникающие проблемы;
- комбинировать
splitChunksРазделение общих блоков кода для оптимизации производительности загрузки во время выполнения; - комбинировать
dllPluginПредварительная сборка общих блоков кода для оптимизации скорости сборки во время компиляции. - комбинировать
webpack-bundle-analyzerвыходной отчет о сборке - Настройка междоменного прокси
Во-вторых, строительный эффект
2.1. Описание каталога приложений
new_years_festivalа такжеspring_festivalдве страницы,index.jsдля файла входа страницы (обязательно),config.jsonНастройте файл для нескольких страниц (обязательно).
2.2 Строительный эффект до оптимизации
А. Общие для обеих страниц сторонние библиотеки упакованы в
chunk-vendors.jsфайл,Чем больше библиотек и страниц, тем крупнее будет производитель.b.
new_years_festivalСторонние библиотеки, на которые ссылается страница,vue,spring_festivalСторонние библиотеки, на которые ссылается страница,vueа такжеvue-router.
2.3 Эффект сборки после оптимизации
А. Настроить
chunk-vendorСтратегия упаковки , блоки кода, на которые обычно ссылаются две страницы, упаковываются вchunk-common.jsb.
spring_festivalСторонняя библиотека вspring-festival-vendor.js, что примерноvue-routerсодержание (вы можете решить, следует ли извлекать или нет в соответствии с вашими потребностями).
2.4 Эффект предварительной сборки dllPlugin
vendor.dll.jsВключить сторонние библиотекиvue.jsи собственная публичная библиотекаutils.js
3. Начать
Если не указано иное, следующиеvue.config.jsконфигурация в
3.1 Многостраничная конфигурация
3.3 Стратегия разделения кода Splitchunks
3.4 Готовая конфигурация dllPlugin
Эта часть не входила в первоначальный план написания, и статья была написана раньшеDllPlugin для повышения скорости компиляции webpack, друг-даос в комментарии поднял вопрос, поэтому я просто добавил здесь немного места, чтобы объяснить. По сути, способ настройки в основном такой же, как и в предыдущей статье.
а. Сначала определитеwebpack.dll.config.js, содержание в основном то же самое, поэтому я больше не буду его выкладывать
б. Далее вvue.config.jsплюс конфигурация
3.5 анализатор генерирует отчет о сборке
а. вvue.config.jsнастроить
package.jsonОпределить команды скрипта в
"scripts": {
"analyze": "ANALYZE=true vue-cli-service build"
},
в) выполнитьnpm run analyzeи посетитьlocalhost:8888Только что
3.6 Междоменный прокси
4000, целевой интерфейсhttp://localhost:300/api/get_info, доступ после установки проксиhttp://localhost:4000/api/get_infoВот и все.
4. Вывод
-
Полная демонстрацияскачать
-
Столкнулся с проблемой на практике многостраничного процесса: в
vue.config.jsСредняя конфигурацияpublicPathКогда поле выдает ошибку:ERROR Invalid options in vue.config.js: "publicPath" is not allowed.vue-cliверсия3.3.0. Официальное объяснение:Существуют некоторые ограничения на использование publicPath для относительных путей. Относительный publicPath следует избегать в следующих случаях:
При использовании маршрутизации на основе HTML5 history.pushState;
При создании многостраничного приложения с параметром pages.Только
避免Если вы используете его, вы все равно сможете его настроить. Поскольку мне нужно настроить путь для некоторых проблем со ссылками на статические ресурсы, я надеюсь, что кто-то в курсе может ответить на него? -
Написав это, я отправился домой встречать Новый год. Желаю всем процветания в Китайском Новом году [eat Chicken.jpg]~