這篇文章將為大家詳細(xì)講解有關(guān)怎么在vue-cli項(xiàng)目中縮短首屏加載時間,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
墨脫網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
安裝
npm install --save-dev webpack-bundle-analyzer
在webpack中設(shè)置如下,然后npm run dev
的時候默認(rèn)會在8888端口顯示。
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; module.exports = { plugins: [ new BundleAnalyzerPlugin() ] }
JS文件按需加載
如果沒有這個設(shè)置,項(xiàng)目首屏加載時會加載整個網(wǎng)站所有的JS文件,所以將JS文件拆開,點(diǎn)擊某個頁面時再加載該頁面的JS是一個很好的優(yōu)化方法。
這里用到的就是vue的組件懶加載。在router.js中,不要使用import的方法引入組件,使用require.ensure。
import index from '@/components/index' const index = r => require.ensure( [], () => r (require('@/components/index'),'index')) //如果寫了第二個參數(shù),就打包到該`/JS/index` 的文件中。 //不寫第二個參數(shù),就直接打包在`/JS` 目錄下。 const index = r => require.ensure( [], () => r (require('@/components/index')))
使用cdn
打包時,把vue、vuex、vue-router、axios等,換用國內(nèi)的bootcdn 直接引入到根目錄的index.html中。
在webpack設(shè)置中添加externals,忽略不需要打包的庫。
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 插件來壓縮代碼和移除console。
new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false, drop_console: true, pure_funcs: ['console.log'] }, sourceMap: false })
關(guān)于怎么在vue-cli項(xiàng)目中縮短首屏加載時間就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當(dāng)前名稱:怎么在vue-cli項(xiàng)目中縮短首屏加載時間
網(wǎng)頁地址:http://chinadenli.net/article0/jgijio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站維護(hù)、企業(yè)建站、網(wǎng)站改版、網(wǎng)站導(dǎo)航、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)