Webpack外部引入Element和Vue

原理: 使用Webpack的externals配置,從htmlscript中加載包,并且能在 webpack的項(xiàng)目開發(fā)中像使用npm安裝包一樣使用import引入這個(gè)全局變量

原因:優(yōu)化加載

  • 通過npm安裝的包,會(huì)一起打包成vendors文件,如果安裝包過多,這個(gè)文件就會(huì)很大,影響加載。而且很多通用的包有CDN,也更方便提高加載速度。
  • 下圖為一個(gè)基礎(chǔ)項(xiàng)目的打包后文件,只裝了Vue、Element和一些基礎(chǔ)包,就700多K,正常項(xiàng)目下來, vender至少1M

修改配置

1. index.html引入第三方包

<!-- 引入Vue,必須先于Element引入 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- 引入Element樣式 -->
<link rel="stylesheet" >

<!-- 引入Element組件庫 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>

2. 修改webpack.base.conf.env

module.exports = {
  context: path.resolve(__dirname, '../'),
  entry: {
    app: './src/main.js'
  },
+  externals: {
+  'vue': 'Vue', // key 為在項(xiàng)目中使用的值, value為全局下綁定的對(duì)象的key
+    'element': 'ELEMENT'
+  }
}

3.使用

  • 正常使用就行,例如main.js
var Vue = require('vue')
var element = require('element')
import App from './App.vue'

import router from './router'
import store from './store'

Vue.use(element)
new Vue({
  el: '#app',
  store,
  router,
  render: h => h(App)
})

待填坑

  • 這種方法只適用于沒有使用TS的項(xiàng)目。如果上了TS,基本也是同樣的配置,項(xiàng)目是可以正常啟動(dòng),vscode會(huì)報(bào)找不到模塊,控臺(tái)出現(xiàn)一堆錯(cuò)誤。等有空了再看怎么在TS中外部引入第三方庫吧
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 作者:小 boy (滬江前端開發(fā)工程師)本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者及出處。原文地址:https://www.smas...
    iKcamp閱讀 2,826評(píng)論 0 18
  • GitChat技術(shù)雜談 前言 本文較長(zhǎng),為了節(jié)省你的閱讀時(shí)間,在文前列寫作思路如下: 什么是 webpack,它要...
    蕭玄辭閱讀 12,885評(píng)論 7 110
  • 目錄第1章 webpack簡(jiǎn)介 11.1 webpack是什么? 11.2 官網(wǎng)地址 21.3 為什么使用 web...
    lemonzoey閱讀 1,821評(píng)論 0 1
  • 寫在開頭 先說說為什么要寫這篇文章, 最初的原因是組里的小朋友們看了webpack文檔后, 表情都是這樣的: (摘...
    Lefter閱讀 5,437評(píng)論 4 31
  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,659評(píng)論 1 32

友情鏈接更多精彩內(nèi)容