vue3+element-plus配置cdn

1,項(xiàng)目配置


最近在做一個(gè)項(xiàng)目图呢,項(xiàng)目配置版本如下:

  • vue:3.2.6
  • vue-router:4.0.11
  • vuex:4.0.2
  • axios:0.21.4
  • element-plus:1.2.0-beta.6
  • typescript:4.1.5
  • sass:1.26.5

下面分享一下褐桌,如上配置的vue3項(xiàng)目照雁,如何配置cdn加速

悄悄插一句秋泄,element-plus坑真多 T_T

2,CDN介紹


介紹下常見的免費(fèi)cdn網(wǎng)站

2.1寸痢,常見cdn網(wǎng)站

在這里吐槽一下呀洲,BootCDN和Staticfile CDN里面能找到的element-plus最高版本只有1.0.2.beta.71,我暈啼止,人家都出到1.3.0-beta.4了道逗!

2.2,通過UNPKG查找需要的cdn資源

BootCDNStaticfile CDN簡(jiǎn)單明了的搜索方式就不說了献烦,這里講一下UNPKG搜索cdn資源的方式滓窍。

cdn文件路徑格式:https://unpkg.com/:package@:version/:file

路徑解析如下圖:

url解釋

以下是幾個(gè)cdn路徑的例子:

// element-plus
https://unpkg.com/element-plus@1.2.0-beta.6/dist/index.full.js

// axios
https://unpkg.com/browse/axios@0.21.4/dist/axios.min.js

直接使用資源名后面加/,可以查看文件夾目錄巩那,比如:https://unpkg.com/browse/axios@0.21.4/吏夯,復(fù)制進(jìn)瀏覽器地址欄,可看見如下目錄:

目錄

打開后自己需要什么文件可以自己找即横,很方便噪生,其余更多黑科技自行百度。

3东囚,實(shí)戰(zhàn)代碼


按如下配置跺嗽,操作方式基本一樣,文件的cdn版本自行替換页藻。

vue.config.js

const CDN = {
  css: [
    'https://cdn.bootcdn.net/ajax/libs/normalize/8.0.1/normalize.min.css',
    'https://unpkg.com/browse/element-plus@1.2.0-beta.6/theme-chalk/index.css'
  ],
  js: [
    'https://cdn.bootcdn.net/ajax/libs/vue/3.2.6/vue.global.js',
    'https://cdn.bootcdn.net/ajax/libs/vue-router/4.0.11/vue-router.global.js',
    'https://cdn.bootcdn.net/ajax/libs/vuex/4.0.2/vuex.global.js',
    'https://cdn.bootcdn.net/ajax/libs/axios/0.21.4/axios.js',
    'https://unpkg.com/element-plus@1.2.0-beta.6/dist/index.full.js',
    'https://unpkg.com/browse/element-plus@1.2.0-beta.6/lib/locale/lang/zh-cn.js'
  ]
};

let objExternals = {
  vue: 'Vue',
  axios: 'axios',
  vuex: 'Vuex',
  'vue-router': 'VueRouter',
  'element-plus': 'ElementPlus'
}

module.exports = {
  publicPath: '/',
  assetsDir: './assets',
  chainWebpack: config => {
    // 配置桨嫁,將當(dāng)前頁(yè)定義的cdn值傳到主頁(yè)面(index.html)
    config.plugin('html').tap(args => {
    // 這里我是除本地環(huán)境,其余均使用CDN份帐,可自己選擇是否配置
      args[0].cdn = process.env.VUE_APP_STAGE === 'LOCAL' ? {} : CDN
      return args;
    });
  },
  configureWebpack: {
    devServer: {
        //...與本文無關(guān)
    },
    resolve: {
        //...與本文無關(guān)
    },
    plugins: [
        //...與本文無關(guān)
    ],
    // 定義webpack打包配置
    externals: process.env.VUE_APP_STAGE === 'LOCAL' ? {} : objExternals 
  }
}

index.html

head標(biāo)簽里加上如下:

<% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.css) { %>
    <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="preload" as="style" />
    <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet" />
  <% } %>

body標(biāo)簽里加上如下:

<% for (let i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
    <script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
  <% } %>

main.ts

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import zhCn from 'element-plus/lib/locale/lang/zh-cn'
import App from '@/App.vue'
import router from '@/router'
import store from '@/store'

const app = createApp(App)
app.use(router)
app.use(store)
app.use(ElementPlus, { locale: zhCn }) // 配置中文
app.mount('#app')

4璃吧,后記


確實(shí)配了cdn后打包文件小了很多,不過如果cdn掛了废境,你的項(xiàng)目也就掛了畜挨。


如果看了覺得有幫助的,我是@鵬多多11997110103噩凹,歡迎 點(diǎn)贊 關(guān)注 評(píng)論朦促;
END

PS:在本頁(yè)按F12,在console中輸入document.querySelectorAll('._2VdqdF')[0].click()栓始,有驚喜哦

往期文章

個(gè)人主頁(yè)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末禀忆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子落恼,更是在濱河造成了極大的恐慌箩退,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件佳谦,死亡現(xiàn)場(chǎng)離奇詭異戴涝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)钻蔑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門啥刻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咪笑,你說我怎么就攤上這事可帽。” “怎么了窗怒?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵映跟,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我扬虚,道長(zhǎng)努隙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任辜昵,我火速辦了婚禮荸镊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘路鹰。我一直安慰自己贷洲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布晋柱。 她就那樣靜靜地躺著优构,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雁竞。 梳的紋絲不亂的頭發(fā)上钦椭,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音碑诉,去河邊找鬼彪腔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛进栽,可吹牛的內(nèi)容都是我干的德挣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼快毛,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼格嗅!你這毒婦竟也來了番挺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤屯掖,失蹤者是張志新(化名)和其女友劉穎玄柏,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贴铜,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粪摘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绍坝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徘意。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖陷嘴,靈堂內(nèi)的尸體忽然破棺而出映砖,到底是詐尸還是另有隱情,我是刑警寧澤灾挨,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布邑退,位于F島的核電站,受9級(jí)特大地震影響劳澄,放射性物質(zhì)發(fā)生泄漏地技。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一秒拔、第九天 我趴在偏房一處隱蔽的房頂上張望莫矗。 院中可真熱鬧,春花似錦砂缩、人聲如沸作谚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)妹懒。三九已至,卻和暖如春双吆,著一層夾襖步出監(jiān)牢的瞬間眨唬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工好乐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留匾竿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓蔚万,卻偏偏與公主長(zhǎng)得像岭妖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容