這篇文章將為大家詳細(xì)講解有關(guān)怎么在vue-cli項(xiàng)目中縮短首屏加載時(shí)間,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)瑪曲,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792安裝
npm install --save-dev webpack-bundle-analyzer
在webpack中設(shè)置如下,然后npm run dev
的時(shí)候默認(rèn)會(huì)在8888端口顯示。
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; module.exports = { plugins: [ new BundleAnalyzerPlugin() ] }
JS文件按需加載
如果沒(méi)有這個(gè)設(shè)置,項(xiàng)目首屏加載時(shí)會(huì)加載整個(gè)網(wǎng)站所有的JS文件,所以將JS文件拆開(kāi),點(diǎn)擊某個(gè)頁(yè)面時(shí)再加載該頁(yè)面的JS是一個(gè)很好的優(yōu)化方法。
這里用到的就是vue的組件懶加載。在router.js中,不要使用import的方法引入組件,使用require.ensure。
import index from '@/components/index' const index = r => require.ensure( [], () => r (require('@/components/index'),'index')) //如果寫(xiě)了第二個(gè)參數(shù),就打包到該`/JS/index` 的文件中。 //不寫(xiě)第二個(gè)參數(shù),就直接打包在`/JS` 目錄下。 const index = r => require.ensure( [], () => r (require('@/components/index')))
使用cdn
打包時(shí),把vue、vuex、vue-router、axios等,換用國(guó)內(nèi)的bootcdn 直接引入到根目錄的index.html中。
在webpack設(shè)置中添加externals,忽略不需要打包的庫(kù)。
externals: { 'vue': 'Vue', 'vue-router': 'VueRouter', 'vuex': 'Vuex', 'axios': 'axios' }
在index.html中使用cdn引入。
<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>
將JS文件放在body的最后
默認(rèn)情況下,build后的index.html中,js的引入是在header中。
使用html-webpack-plugin插件,將inject的值改成body。就可以將js引入放到body最后。
var HtmlWebpackPlugin = require('html-webpack-plugin'); new HtmlWebpackPlugin({ inject: 'body', })
壓縮代碼并移除console
使用UglifyJsPlugin 插件來(lái)壓縮代碼和移除console。
new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false, drop_console: true, pure_funcs: ['console.log'] }, sourceMap: false })
關(guān)于怎么在vue-cli項(xiàng)目中縮短首屏加載時(shí)間就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前名稱:怎么在vue-cli項(xiàng)目中縮短首屏加載時(shí)間-創(chuàng)新互聯(lián)
鏈接URL:http://www.rwnh.cn/article40/dhhsho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、全網(wǎng)營(yíng)銷推廣、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容