Мне нужна помощь в понимании того, какие передовые методы люди используют для приложения VueJs, которое не является SPA. В моем проекте у меня несколько страниц, и в настоящее время я рассматриваю каждую страницу как SPA. Но я заметил, что мой размер app.js
увеличивается после добавления новой страницы. Это то, что у меня есть
require('./bootstrap');
var Vue = require('vue');
import GlobalMixins from './mixins/GlobalMixins'
import VueFlashMessage from 'vue-flash-message'
import PortalVue from 'portal-vue'
import Treeselect from '@riophae/vue-treeselect'
Vue.prototype.$eventHub = new Vue(); //global event bus
Vue.mixin(GlobalMixins);
Vue.use(PortalVue);
Vue.use(VueFlashMessage,{
messageOptions: {
timeout: 7000,
important: false,
autoEmit: true,
pauseOnInteract: true,
createShortcuts: false,
}
});
// shared components
Vue.component('navigation', require('./components/navigation.vue').default);
Vue.component('loader',require('./components/shared/custom_loader.vue').default);
Vue.component('treeselect',Treeselect);
//parent components only for each page
Vue.component('goals', require('./components/goals/index.vue').default);
Vue.component('dashboard', require('./components/dashboard/index.vue').default);
Vue.component('twitter', require('./components/twitter/index.vue').default);
Vue.component('trends', require('./components/trends/index.vue').default);
Vue.component('settings', require('./components/settings/index.vue').default);
..........
..........
..........
require('./filters');
window.onload = function () {
new Vue ({
el: '#app'
});
}
Я компилирую свои активы, используя laravel-mix
, и даже после запуска npm run prod
app.js
размер составляет около 2 МБ. Как я могу это оптимизировать?
PS: сжатие gzip уже включено на моих серверах.