Vue脚手架优化cdn方式加速

前言

   这几天忙着接手公司旧项目好久没写内容了,就项目代码冗余凌乱,实在无法升级维护下去了。老板决定让我重构撒。那就开干吧。

选型

   在vue论坛逛了一圈最后决定vue-cli 3.x + element ui 方案。成熟方案更适合团队玩耍。

SPA 与 MPA

   这个是一个考虑点,新手可能会蒙圈MPA是啥,Vue不是SPA开发模式吗?好像是那么一回事,我们初始化的项目已经官网是否都讲Vue SPA开发,但是VUE是渐进式开发核心是视图层。我们build出来的是依赖于 webpack ,而webpack是将所有的资源整合出来。所以就要更改webpack配置依赖是可以实现多页面开发的。

// vue.config.js
module.exports = {
    ...
    // 构建多页时使用
    pages: {
        index: {
            entry: 'src/main.js',    //  入口
            template: 'public/index.html',  // 模板
            filename: 'index.html',
            title: 'model-project',
            keywords: 'project',
            description: 'Jabo'
        },
          subPage:{ ... }  // 类似上面
    },
}

   MPA的好处自己百度撒,上面是核心配置,但是在最后定型时我选择了SPA【根据自己的业务场景】,
   1、我们做的是后台管理系统,多SEO之类没要求
   2、团队开发人员的习惯,MPA与SPA还是有点区别的
   3、业务规模,MPA浪费了
   but,我的目录结构还是构建趋于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" href="https://cdn.bootcss.com/element-ui/2.13.0/theme-chalk/index.css">
        
    </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,  // 重点
   ....
 }
}
...
}

其他优化网上一堆就不哔哔了,不晓的可以加粉沟通哈。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 1,297评论 0 1
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    王喂马_阅读 6,597评论 1 77
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    你猜_3214阅读 11,350评论 0 118
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    柴东啊阅读 15,966评论 2 140
  • UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 m...
    小姜先森o0O阅读 10,137评论 0 72

友情链接更多精彩内容