Vue腳手架優(yōu)化cdn方式加速

前言

?? 這幾天忙著接手公司舊項目好久沒寫內(nèi)容了,就項目代碼冗余凌亂,實在無法升級維護下去了。老板決定讓我重構(gòu)撒。那就開干吧。

選型

?? 在vue論壇逛了一圈最后決定vue-cli 3.x + element ui 方案。成熟方案更適合團隊玩耍。

SPA 與 MPA

?? 這個是一個考慮點,新手可能會蒙圈MPA是啥,Vue不是SPA開發(fā)模式嗎?好像是那么一回事,我們初始化的項目已經(jīng)官網(wǎng)是否都講Vue SPA開發(fā),但是VUE是漸進式開發(fā)核心是視圖層。我們build出來的是依賴于 webpack ,而webpack是將所有的資源整合出來。所以就要更改webpack配置依賴是可以實現(xiàn)多頁面開發(fā)的。

// vue.config.js
module.exports = {
    ...
    // 構(gòu)建多頁時使用
    pages: {
        index: {
            entry: 'src/main.js',    //  入口
            template: 'public/index.html',  // 模板
            filename: 'index.html',
            title: 'model-project',
            keywords: 'project',
            description: 'Jabo'
        },
          subPage:{ ... }  // 類似上面
    },
}

?? MPA的好處自己百度撒,上面是核心配置,但是在最后定型時我選擇了SPA【根據(jù)自己的業(yè)務(wù)場景】,
?? 1、我們做的是后臺管理系統(tǒng),多SEO之類沒要求
?? 2、團隊開發(fā)人員的習慣,MPA與SPA還是有點區(qū)別的
?? 3、業(yè)務(wù)規(guī)模,MPA浪費了
?? but,我的目錄結(jié)構(gòu)還是構(gòu)建趨于MPA模式,這樣做的好處是后期擴展方便多了選擇。

CND加速【重點】

?? 很多小伙伴怕SPA的一個重要,打包后js巨大,首次打開龜速。所以不得不提的CND來了。這里已element ui 為例

// public/index.html
<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <link rel="icon" href="<%= BASE_URL %>favicon.ico">
        <title>
            <%= htmlWebpackPlugin.options.title %>
        </title>
        <meta name="keywords" content="<%= htmlWebpackPlugin.options.keywords %>"/>
        <meta name="description" content="<%= htmlWebpackPlugin.options.description %>">
             <!-- 這里配置element ui style-->
        <link rel="stylesheet" >
        
    </head>
    <body>
        <noscript>
            <strong>We're sorry but model-project doesn't work properly without JavaScript enabled. Please enable it to
                continue.</strong>
        </noscript>
        <div id="app"></div>
        <!-- built files will be auto injected -->
        <script type="text/javascript" src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
        <script type="text/javascript" src="https://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js"></script>
        <script type="text/javascript" src="https://cdn.bootcss.com/vuex/3.1.2/vuex.min.js"></script>
        <script type="text/javascript" src="https://cdn.bootcss.com/axios/0.19.0/axios.min.js"></script>
               <!-- 這里配置element ui js-->
        <script type="text/javascript" src="https://cdn.bootcss.com/element-ui/2.13.0/index.js"></script>   
    </body>
</html>
// vue.config.js 重點
const externals = {
    'vue': 'Vue',
    'vue-router': 'VueRouter',
    'vuex': 'Vuex',
    'element-ui': 'ELEMENT',
}

module.exports {
...
configureWebpack: config => {
  return {
    externals: externals,  // 重點
   ....
 }
}
...
}

其他優(yōu)化網(wǎng)上一堆就不嗶嗶了,不曉的可以加粉溝通哈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 基于Vue的一些資料 內(nèi)容 UI組件 開發(fā)框架 實用庫 服務(wù)端 輔助工具 應(yīng)用實例 Demo示例 element★...
    嘗了又嘗閱讀 1,284評論 0 1
  • UI組件 element- 餓了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的組件庫 m...
    王喂馬_閱讀 6,587評論 1 77
  • UI組件 element- 餓了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的組件庫 m...
    你猜_3214閱讀 11,340評論 0 118
  • UI組件 element- 餓了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的組件庫 m...
    柴東啊閱讀 15,963評論 2 140
  • UI組件 element- 餓了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的組件庫 m...
    小姜先森o0O閱讀 10,129評論 0 72

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