Webpack怎么引入CDN鏈接來優(yōu)化編譯后的體積-創(chuàng)新互聯(lián)

這篇文章主要介紹了Webpack怎么引入CDN鏈接來優(yōu)化編譯后的體積,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站長(zhǎng)期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為庫(kù)倫企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè),庫(kù)倫網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

背景

在 Vue 項(xiàng)目中,引入到工程中的所有 js 文件,編譯時(shí)都會(huì)被打包進(jìn) vendor.js,也就導(dǎo)致了 vendor.js 文件體積變得相當(dāng)臃腫,一定程度上影響著頁(yè)面的渲染。為了減少編譯后的體積,提高頁(yè)面渲染速度,我們可以通過引入 CDN 鏈接把庫(kù)分離,多線程異步 js 庫(kù),從而達(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)語(yǔ)句,在 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 中,注釋掉以下語(yǔ)句:

// 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 之后就不存在按需引入這種說法啦!

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Webpack怎么引入CDN鏈接來優(yōu)化編譯后的體積”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

分享文章:Webpack怎么引入CDN鏈接來優(yōu)化編譯后的體積-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article30/ceccso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、定制網(wǎng)站軟件開發(fā)、App設(shè)計(jì)、虛擬主機(jī)、企業(yè)建站

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)