您好,登錄后才能下訂單哦!
這篇文章給大家介紹Vue-Cli項目優化操作的實現,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
路由懶加載
在Vue-router官方文檔中有針對懶加載的介紹,主要是將整個大的js進行切片,對當前路由的資源進行一個按需加載。在Vue-cli生成的路由組件引用方法是這樣的
import HelloWorld from '@/components/HelloWorld'
只需將組件的引用方式改為
const HelloWorld = () => import ('@/components/HelloWorld')
然后重新編譯即可
開啟預加載/優先加載
使用webpack插件 PreloadWebpackPlugin 進行預加載prefetch和優先加載preload。 主要做的是用preload加載vendor、manifest與app三個js而用prefetch去加載所有路由對應的文件。 首先要 安裝插件
npm install --save preload-webpack-plugin
在 webpack.prod.conf.js 中修改,加入預加載的代碼 (注意放在 new HtmlWebpackPlugin() 的下面)
new PreloadWebpackPlugin({ rel: 'prefetch', }), new PreloadWebpackPlugin({ rel: 'preload', as(entry) { if (/\.css$/.test(entry)) return 'style' return 'script'; }, include: ['app', 'vendor', 'manifest'] })
開啟GZip
gzip,使用gzip壓縮資源可以更快地加載資源。客戶端http請求頭聲明瀏覽器支持的壓縮方式,服務端配置啟用壓縮,壓縮的文件類型,壓縮方式。當客戶端請求到服務端的時候,服務器解析請求頭,如果客戶端支持gzip壓縮,響應時對請求的資源進行壓縮并返回給客戶端,瀏覽器按照自己的方式解析,在http響應頭,我們可以看到 content-encoding:gzip ,這是指服務端使用了gzip的壓縮方式。
啟用gzip,在nginx的site-conf中開啟gzip
server { gzip on; gzip_types text/xml text/css text/plain text/javascript application/javascript application/x-javascript; }
webpack處理,需要先安裝插件
npm install --save-dev compression-webpack-plugin
然后在config的index.js中 ,將productionGzip改為true,開啟Gzip壓縮。
PS:如果編譯報錯,則安裝 compression-webpack-plugin@1.1.12 版本
對第三方工具庫進行額外處理
本項目中Vender中主要是Vue,Vue-router,axios等固定依賴的代碼,工具庫的代碼一般不會改動,所以可以將這些工具庫的代碼抽出來,單獨走CDN加載以減少編譯JS文件的大小。 具體操作 : 選擇相應的工具庫版本的cdn,加入到index.html中
<script src="//cdn.bootcss.com/vue/2.2.5/vue.min.js"></script> <script src="//cdn.bootcss.com/vue-router/2.3.0/vue-router.min.js"></script> <script src="//cdn.bootcss.com/vuex/2.2.1/vuex.min.js"></script> <script src="//cdn.bootcss.com/axios/0.15.3/axios.min.js"></script>
之后去到webpack中修改相應的打包配置
externals: { 'vue': 'Vue', 'vue-router': 'VueRouter', 'vuex': 'Vuex', 'axios': 'axios' }
關于Vue-Cli項目優化操作的實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。