vue项目完成后如何实现项目优化的示例

 更新时间:2021年12月30日 09:23:09   作者:小慈  
本文主要介绍了vue项目完成后如何实现项目优化的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、为开发模式与发布模式指定不同的打包入口

vue ui创建的项目,隐藏了webpack配置,可以在src根目录新建一个vue.config.js配置文件。在配置文件中向外导出配置对象。

在这里插入图片描述

在这里插入图片描述

2.默认情况下,vue项目的开发模式和发布模式,共用一个打包的入口文件即(src/main.js)。可以使用configureWebpack或chainWebpack来定义webpack的打包配置

在这里插入图片描述

把main.js文件改为main-dev.js。 复制一份main.js改为main-prod.js

二、通过externals加载外部CDN资源

默认情况下,通过import语法导入的第三方依赖包,最终会被打包合并到同一个文件中,从而导致打包成功后,单文件体积过大的问题(我们import进的css样式表,也会打包到同一个文件中,导致文件过大) 。

在这里插入图片描述

为了解决上述问题,可以通过webpack的externals节点,来配置并加载外部的CDN资源。凡是声明在externals中的第三方依赖包,都不会被打包合并到最终的文件中去。

① 配置webpack的externals节点,在发布阶段配置

在这里插入图片描述

声明在externals中的第三方依赖包,都不会被打包,项目会在用到依赖包时在window全局中去查找对应的对象。所以需要在index.html文件中引入CDN中的js和css资源,以便可以在全局中找到

需要在public/index.html文件的头部,添加如下的CDN资源引用:

具体操作流程:
① 在 main-prod.js 中,注释掉nprogress和quill引用的css文件
② 在 index.html 的头部区域中,通过 CDN 加载nprogress和quill 的 js 和 css 样式
③ 在 index.html 的头部区域中,通过 CDN 加载其余依赖的js

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以通过staticfile CDN来查找到对应的开源库

在这里插入图片描述

使用CDN之前的文件大小:

在这里插入图片描述

使用CDN之后的文件大小:

在这里插入图片描述

三、通过CDN优化ElementUI的打包

虽然在开发阶段,我们启用了 element-ui 组件的按需加载,尽可能的减少了打包的体积,但是那些被按需加
载的组件,还是占用了较大的文件体积。此时,我们可以将 element-ui 中的组件,也通过 CDN 的形式来加
载,这样能够进一步减小打包后的文件体积

具体操作流程如下:
① 在 main-prod.js 中,注释掉 element-ui 按需加载的代码
② 在 index.html 的头部区域中,通过 CDN 加载 element-ui 的 js 和 css 样式

在这里插入图片描述

在这里插入图片描述

完成后的文件大小:

在这里插入图片描述

四、首页内容定制

① 不同的打包环境下,首页内容可能会有所不同。我们可以通过插件的方式进行定制,插件配置如下:

 // 通过plugin('html'):找到html插件。 通过tap():可以修改这个插件里面的固定配置项
 // 通过args:可以拿到当前这个插件的一些相关参数。
  // 在args[0]中添加自定义的属性isprod,当在开发阶段时,赋值为true,发布阶段时,赋值为false

在这里插入图片描述

② 在public/index.html首页中,可以根据isProd的值,开决定如何渲染页面结构

在这里插入图片描述

在这里插入图片描述

五、使用路由懒加载

当打包构建项目时,所有路由对应的组件都会打包到一个文件中,导致文件过大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。

在这里插入图片描述

到此这篇关于vue项目完成后如何实现项目优化的示例的文章就介绍到这了,更多相关vue项目优化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于VUE选择上传图片并页面显示(图片可删除)

    基于VUE选择上传图片并页面显示(图片可删除)

    这篇文章主要为大家详细介绍了基于VUE选择上传图片并页面显示,图片可以删除的效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 详解vue移动端日期选择组件

    详解vue移动端日期选择组件

    小编给大家整理了关于vue移动端日期选择组件的知识点总结,希望能够给读者带来帮助,一起学习参考下。
    2018-02-02
  • vue项目上传Github预览的实现示例

    vue项目上传Github预览的实现示例

    这篇文章主要介绍了vue项目上传Github预览的实现示例,在完成Vue项目以后,在上传到github并实现预览
    2018-11-11
  • vue前端性能优化之预加载和懒加载示例详解

    vue前端性能优化之预加载和懒加载示例详解

    这篇文章主要为大家介绍了vue前端性能优化之预加载和懒加载示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Vue中的change事件无效问题及解决

    Vue中的change事件无效问题及解决

    这篇文章主要介绍了Vue中的change事件无效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue3模块创建runtime-dom源码解析

    vue3模块创建runtime-dom源码解析

    这篇文章主要为大家介绍了vue3模块创建runtime-dom源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • vue2.0和mintui-infiniteScroll结合如何实现无线滚动加载

    vue2.0和mintui-infiniteScroll结合如何实现无线滚动加载

    这篇文章主要介绍了vue2.0和mintui-infiniteScroll结合如何实现无线滚动加载,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 使用Vue实现网页截图和截屏功能

    使用Vue实现网页截图和截屏功能

    网页截图与截屏功能在许多Web应用程序中都非常有用,Vue.js作为一个流行的JavaScript框架,提供了许多工具和库来简化网页截图和截屏的实现,本文将介绍如何使用Vue来实现一个网页截图和截屏功能的示例,包括使用html2canvas库和vue-cropper库,需要的朋友可以参考下
    2023-10-10
  • vue3之向echarts组件传值的问题分析

    vue3之向echarts组件传值的问题分析

    这篇文章主要介绍了vue3之向echarts组件传值的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue实现表格合并功能

    vue实现表格合并功能

    这篇文章主要为大家详细介绍了vue实现表格合并功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12

最新评论