詳解Webpack如何引入CDN鏈接來優(yōu)化編譯后的體積
背景
在 Vue 項(xiàng)目中,引入到工程中的所有 js 文件,編譯時(shí)都會(huì)被打包進(jìn) vendor.js,也就導(dǎo)致了 vendor.js 文件體積變得相當(dāng)臃腫,一定程度上影響著頁面的渲染。為了減少編譯后的體積,提高頁面渲染速度,我們可以通過引入 CDN 鏈接把庫分離,多線程異步 js 庫,從而達(dá)到加速渲染的目的。那么我們?nèi)绾巫瞿兀?/p>
步驟
1.引入CDN鏈接
在項(xiàng)目的 index.html 中,常規(guī)方式引入 CDN 鏈接,此處以 vue 和 element-ui 為例:
<body> <div id="app"></div> <!-- CDN方式引入vue --> <script src="https://unpkg.com/vue/dist/vue.js"></script> <!-- CDN方式引入element-ui --> <script src="https://unpkg.com/element-ui@2.8.2/lib/index.js"></script> </body>
2.添加externals屬性
Vue-cli 2
在項(xiàng)目的 build/webpack.base.conf.js 中,在下面合適位置添加 externals 相關(guān)語句,在 entry 后面加入即可:
module.exports = { context: path.resolve(__dirname, '../'), entry: { function: './src/main.js' }, externals:{ 'vue': 'Vue', 'element-ui': 'ElementUI' } ... }
Vue-cli 3
在項(xiàng)目根目錄的 vue.config.js 中,將 configureWebpack 配置代碼塊添加進(jìn)入即可:
module.exports = { configureWebpack:{ externals: { 'vue': 'Vue', 'element-ui': 'ElementUI' } } }
注意:在上述代碼中,'vue': 'Vue' 對(duì)應(yīng)形式為 key : value,其中 key 為項(xiàng)目中引用的名稱,而 value 是資源本身定義的名稱(不可改),正常情況下我們可以參照 src/main.js 進(jìn)行查看:
import Vue from 'vue' import ElementUI from 'element-ui' //打開src/main.js查閱以上兩行代碼,其前面作為value,后面作為key。
3.注釋import及Vue.use(xxx)
在項(xiàng)目的 src/main.js 中,注釋掉以下語句:
// import Vue from 'vue' // import ElementUI from 'element-ui' // import 'element-ui/lib/theme-chalk/index.css' import App from './App' Vue.config.productionTip = false // Vue.use(ElementUI)
注:使用 eslint 規(guī)則的項(xiàng)目請(qǐng)不要注釋 import 及 Vue.use,除非你不使用那煩人的 eslint。
完成以上步驟后就可以開始執(zhí)行 npm run build,你會(huì)發(fā)現(xiàn)編譯后的 vendor.js 從幾百K降到幾十K,也就意味著優(yōu)化體積已經(jīng)成效。 另外,有好多網(wǎng)友先前為了減少體積就已經(jīng)配置了 按需引入,如果引入 CDN 之后,記得把按需引入的配置去掉哦,因?yàn)橐?CDN 之后就不存在按需引入這種說法啦!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript 在網(wǎng)頁中的運(yùn)用(asp.net)
javascript在網(wǎng)頁中的運(yùn)用實(shí)現(xiàn),需要的朋友可以參考下。2009-11-11js+css繪制顏色動(dòng)態(tài)變化的圈中圈效果
這篇文章主要介紹了js+css繪制顏色動(dòng)態(tài)變化的圈中圈效果,涉及JavaScript結(jié)合時(shí)間函數(shù)動(dòng)態(tài)操作頁面元素樣式的相關(guān)技巧,需要的朋友可以參考下2016-01-01JavaScript中forEach的錯(cuò)誤用法匯總
js中foreach是用于遍歷數(shù)組的方法,將遍歷到的元素傳遞給回調(diào)函數(shù),遍歷的數(shù)組不能是空的要有值,下面這篇文章主要給大家介紹了關(guān)于JavaScript中forEach的錯(cuò)誤用法,需要的朋友可以參考下2022-06-06微信小程序-橫向滑動(dòng)scroll-view隱藏滾動(dòng)條
本篇文章主要介紹了微信小程序-橫向滑動(dòng)scroll-view隱藏滾動(dòng)條的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04用JS編寫一個(gè)函數(shù),返回?cái)?shù)組中重復(fù)出現(xiàn)過的元素(實(shí)例)
下面小編就為大家?guī)硪黄肑S編寫一個(gè)函數(shù),返回?cái)?shù)組中重復(fù)出現(xiàn)過的元素(實(shí)例)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09