若是咱們的項目是用腳手架搭建的,大部分的優化腳手架都幫你作了。好比:圖片轉base6四、代碼壓縮等。css
我今天想說的是一些要本身去優化的地方:html
第三方按需加載,好比:Element按需加載,用了哪些組件就之引入哪些組件。vue
// main.js import { Button, Select } from 'element-ui'; Vue.component(Button.name, Button); Vue.component(Select.name, Select); // 或寫爲 Vue.use(Button) Vue.use(Select)
CDN引入: 能夠把一些文件或者第三方庫採用CDN的方式引入。好比:Vue
、VueX
、VueRouter
等。webpack
在index.html
文件中經過script
標籤引入CDN,最後再Webpack
中配置一下,打包的時候不要把經過CDN引入的文件或者第三方庫打包進去。web
// webpack配置 externals: { 'vue': 'Vue', 'vuex': 'Vuex', 'vue-router': 'VueRouter' },
路由懶加載vue-router
// webpackChunkName是把組件按組分塊,後面接的字符串是塊的名稱 const Foo = () => import(/* webpackChunkName: "group-foo" */ './Foo.vue') const Bar = () => import(/* webpackChunkName: "group-foo" */ './Bar.vue') const Baz = () => import(/* webpackChunkName: "group-foo" */ './Baz.vue') const router = new VueRouter({ routes: [ { path: '/foo', component: Foo }, { path: '/bar', component: Bar }, { path: '/baz', component: Baz }, ] })
異步組件vuex
new Vue({ // ... components: { 'my-component': () => import('./my-async-component') } })
Watch
、computed
。好比:你只是想監聽對象裏面一個key的變化,就不必監聽整個對象。由於這會增長依賴的數量,增長開銷。<style>
標籤的方式經過 JavaScript 動態注入。