欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Webpack如何引入CDN鏈接來優(yōu)化編譯后的體積

 更新時間:2019年06月21日 09:46:56   作者:左撇峰子  
這篇文章主要介紹了詳解Webpack如何引入CDN鏈接來優(yōu)化編譯后的體積,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

背景

在 Vue 項目中,引入到工程中的所有 js 文件,編譯時都會被打包進 vendor.js,也就導致了 vendor.js 文件體積變得相當臃腫,一定程度上影響著頁面的渲染。為了減少編譯后的體積,提高頁面渲染速度,我們可以通過引入 CDN 鏈接把庫分離,多線程異步 js 庫,從而達到加速渲染的目的。那么我們如何做呢?

步驟

1.引入CDN鏈接

在項目的 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

在項目的 build/webpack.base.conf.js 中,在下面合適位置添加 externals 相關語句,在 entry 后面加入即可:

module.exports = {
 context: path.resolve(__dirname, '../'),
 entry: {
 function: './src/main.js'
 },
 externals:{
 'vue': 'Vue',
 'element-ui': 'ElementUI'
 }
 ...
}

Vue-cli 3

在項目根目錄的 vue.config.js 中,將 configureWebpack 配置代碼塊添加進入即可:

module.exports = {
 configureWebpack:{
 externals: {
  'vue': 'Vue',
  'element-ui': 'ElementUI'
 }
 }
}

注意:在上述代碼中,'vue': 'Vue' 對應形式為 key : value,其中 key 為項目中引用的名稱,而 value 是資源本身定義的名稱(不可改),正常情況下我們可以參照 src/main.js 進行查看:

import Vue from 'vue'
import ElementUI from 'element-ui'
//打開src/main.js查閱以上兩行代碼,其前面作為value,后面作為key。

3.注釋import及Vue.use(xxx)

在項目的 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ī)則的項目請不要注釋 import 及 Vue.use,除非你不使用那煩人的 eslint。

完成以上步驟后就可以開始執(zhí)行 npm run build,你會發(fā)現(xiàn)編譯后的 vendor.js 從幾百K降到幾十K,也就意味著優(yōu)化體積已經(jīng)成效。 另外,有好多網(wǎng)友先前為了減少體積就已經(jīng)配置了 按需引入,如果引入 CDN 之后,記得把按需引入的配置去掉哦,因為引入 CDN 之后就不存在按需引入這種說法啦!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • javascript 在網(wǎng)頁中的運用(asp.net)

    javascript 在網(wǎng)頁中的運用(asp.net)

    javascript在網(wǎng)頁中的運用實現(xiàn),需要的朋友可以參考下。
    2009-11-11
  • 簡單的前端js+ajax 購物車框架(入門篇)

    簡單的前端js+ajax 購物車框架(入門篇)

    其實,一直想把自己寫的一些js給總結下,也許是能力有限不能把它完美結合起來。只能自己默默的看著哪些代碼,無能為力
    2011-10-10
  • 微信小程序頁面間值傳遞的兩種方法

    微信小程序頁面間值傳遞的兩種方法

    這篇文章主要介紹了微信小程序-頁面間值傳遞的2種方法,每種方法通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • js+css繪制顏色動態(tài)變化的圈中圈效果

    js+css繪制顏色動態(tài)變化的圈中圈效果

    這篇文章主要介紹了js+css繪制顏色動態(tài)變化的圈中圈效果,涉及JavaScript結合時間函數(shù)動態(tài)操作頁面元素樣式的相關技巧,需要的朋友可以參考下
    2016-01-01
  • JavaScript中forEach的錯誤用法匯總

    JavaScript中forEach的錯誤用法匯總

    js中foreach是用于遍歷數(shù)組的方法,將遍歷到的元素傳遞給回調函數(shù),遍歷的數(shù)組不能是空的要有值,下面這篇文章主要給大家介紹了關于JavaScript中forEach的錯誤用法,需要的朋友可以參考下
    2022-06-06
  • 微信小程序-橫向滑動scroll-view隱藏滾動條

    微信小程序-橫向滑動scroll-view隱藏滾動條

    本篇文章主要介紹了微信小程序-橫向滑動scroll-view隱藏滾動條的相關知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • 用JS編寫一個函數(shù),返回數(shù)組中重復出現(xiàn)過的元素(實例)

    用JS編寫一個函數(shù),返回數(shù)組中重復出現(xiàn)過的元素(實例)

    下面小編就為大家?guī)硪黄肑S編寫一個函數(shù),返回數(shù)組中重復出現(xiàn)過的元素(實例)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 代碼詳解javascript模塊加載器

    代碼詳解javascript模塊加載器

    本篇文章通過代碼示例給大家詳細分析了javascript基礎內容模塊加載器的相關知識點,一起學習下。
    2018-03-03
  • RxJS的入門指引和初步應用

    RxJS的入門指引和初步應用

    這篇文章主要介紹了RxJS的入門指引和初步應用,RxJS是一個強大的Reactive編程庫,提供了強大的數(shù)據(jù)流組合與控制能力,但是其學習門檻一直很高,本次分享期望從一些特別的角度解讀它在業(yè)務中的使用,而不是從API角度去講解。,需要的朋友可以參考下
    2019-06-06
  • uniapp小程序使用RSA加密解密的操作代碼

    uniapp小程序使用RSA加密解密的操作代碼

    這篇文章主要介紹了uniapp小程序使用RSA加密解密,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08

最新評論