• 路由模式和打包优化


    1. 路由模式-将路由改成history模式

    在这里插入图片描述

    • hash模式带#,#后面的地址变化不会引起页面的刷新
    • history没有#,地址变化会引起页面刷新,更符合页面地址的规范(开发环境不刷新-webpack配置)
    • 将路由模式修改成history模式-代码位置(src/router/index.js)
    const createRouter = () => new Router({
      mode: 'history', // require service support
      scrollBehavior: () => ({ y: 0 }),
      routes: constantRoutes // 默认引入静态路由
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2. 打包分析-分析

    在这里插入图片描述

    • 打包分析代码
    $ npm run preview -- --report
    
    • 1

    在这里插入图片描述

    • 去除main.js中对于mock.js的引用

    在这里插入图片描述

    3. CDN加速

    在这里插入图片描述

    将几个比较大的多在打包时排除,这样可以缩小整体打包的大小,保证js的加载速度,排除的包采用cdn的方式用外链去引入,cdn本名为分发服务器,意为更近的访问区间更快的访问速度将所需要的文件返回给客户端

    • webpack排除打包-代码位置(vue.config.js)
     configureWebpack: {
        // provide the app's title in webpack's name field, so that
        // it can be accessed in index.html to inject the correct title.
        name: name,
        resolve: {
          alias: {
            '@': resolve('src')
          }
        },
        // 配置需要排出的包
        externals: {
          'vue': 'Vue',
          'element-ui': 'ELEMENT',
          'cos-js-sdk-v5': 'COS'
        }
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 在html中采用外链引入排除的文件-代码位置(public/index.html)
    <!DOCTYPE html>
    <html>
      <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, maximum-scale=1, user-scalable=no">
        <link rel="icon" href="<%= BASE_URL %>favicon.ico">
        <title><%= webpackConfig.name %></title>
        <link href="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.13/theme-chalk/index.min.css" rel="stylesheet">
      </head>
      <body>
        <noscript>
          <strong>We're sorry but <%= webpackConfig.name %> 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 src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.13/index.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/cos-js-sdk-v5/dist/cos-js-sdk-v5.min.js" ></script>
    
      </body>
    </html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    windows配置nginx

  • 相关阅读:
    基于Spring Boot项目构建流水线
    ASCHIP_ISP Tool 工具 使用与更新
    Java毕业设计之基于SSM实现的图书借阅管理系统
    【NSDictionary的概述 Objective-C语言】
    【云原生】服务网格istio的发展历程
    destoon自定义一个archiver内容文档
    云计算与低代码:重塑软件开发的新范式
    vs 插件下载慢的解决方法
    java毕业设计在线教育平台Mybatis+系统+数据库+调试部署
    Kubernetes资源编排系列之四: CRD+Operator篇
  • 原文地址:https://blog.csdn.net/ioncannontic/article/details/133442577