Vue.js项目加载速度性能优化

简介: Vue.js项目加载速度性能优化

随着项目引入的依赖增多,每次打开项目,无论是开发环境还是生产环境,都逐步变慢。开始没有感觉不明显,随着项目迭代次数增多,网站打开速度有了明显的卡顿感。


外部第三方依赖,一般都是固定的版本,不会随着项目进行而改变,可以利用cdn加载,和浏览器本身的缓存机制实现网站打开速度的提升。


本次优化按照如下步骤进行:


1、外部引入第三方库

将用到的第三方库,都做外部引入


vue.config.js


// from vue import Vue
externals: {
  vue: 'Vue',
  vuex: 'Vuex',
  'vue-router': 'VueRouter',
  axios: 'axios',
  moment: 'moment',
  lodash: '_',
  echarts: 'echarts'
},

可参考: webpack 外部扩展(Externals)


2、配置环境变量

2.1、开发环境配置


.env.development


# 环境标识
ENV = 'development'
# 开发环境静态资源cdn地址
VUE_APP_CDN_BASE_URL = "https://mouday.github.io/more-cdn"

2.2、生产环境配置


.env.production


# 环境标识
ENV = 'production'
# 生产环境静态资源cdn地址
VUE_APP_CDN_BASE_URL = "https://mouday.github.io/more-cdn"

可用的公共CDN


https://www.bootcdn.cn/

https://cdnjs.com/

需要注意的是,公共CDN可能不稳定,我们刚开始就使用了bootcdn作为生产环境的CDN,没想到过了几天网站挂了。


强烈推荐使用自建CDN,保证稳定性。


此处推荐一个CDN模板,可以把需要的第三方依赖下载到项目,自行部署一个静态资源CDN

https://github.com/mouday/more-cdn


可参考:Vue CLI 模式和环境变量


3、配置外部依赖包CDN加载

Vue需要区分开发环境和线上环境,开发环境加载未压缩的代码,便于调试


public/index.html

<!-- 开发环境加载未打包依赖 -->
<% if (ENV = 'development') { %>
    <script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/vue/2.6.10/vue.js"></script>
<% } else { %>
    <script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/vue/2.6.10/vue.min.js"></script>
<% }%>
<script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/axios/0.18.1/axios.min.js"></script>
<script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/vuex/3.1.0/vuex.min.js"></script>
<script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/vue-router/3.0.6/vue-router.min.js"></script>
<script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/echarts/4.4.0/echarts.min.js"></script>
<script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/Clamp.js/0.5.1/clamp.min.js"></script>
<script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="<%= VUE_APP_CDN_BASE_URL %>/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>

相关文章
|
3月前
|
JavaScript 数据可视化
vue-cli学习一:vue脚手架的 vue-cli2和vue-cli3版本 创建vue项目,vue的初始化详解
这篇文章介绍了如何使用vue-cli 2和3版本来创建Vue项目,并详细说明了两者之间的主要区别。
142 5
vue-cli学习一:vue脚手架的 vue-cli2和vue-cli3版本 创建vue项目,vue的初始化详解
|
3月前
|
JavaScript 容器
乾坤qiankun框架搭建 主应用为vue3的项目。
乾坤qiankun框架搭建 主应用为vue3的项目。
244 2
|
2月前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
2月前
|
缓存 JavaScript 前端开发
掌握现代JavaScript异步编程:Promises、Async/Await与性能优化
本文深入探讨了现代JavaScript异步编程的核心概念,包括Promises和Async/Await的使用方法、最佳实践及其在性能优化中的应用,通过实例讲解了如何高效地进行异步操作,提高代码质量和应用性能。
|
2月前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
2月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
61 5
|
2月前
|
缓存 监控 JavaScript
Vue.js 框架下的性能优化策略与实践
Vue.js 框架下的性能优化策略与实践
|
3月前
|
JavaScript 数据可视化
vue-cli学习二:vue-cli3版本 创建vue项目后,Runtime-Compiler和Runtime-only两个模式详解;vue项目管理器;配置文件的配置在哪,以及如何配置
这篇文章详细介绍了Vue CLI 3版本创建项目时的Runtime-Compiler和Runtime-only两种模式的区别、Vue程序的运行过程、render函数的使用、eslint的关闭方法,以及Vue CLI 2和3版本配置文件的不同和脚手架3版本创建项目的配置文件配置方法。
185 3
vue-cli学习二:vue-cli3版本 创建vue项目后,Runtime-Compiler和Runtime-only两个模式详解;vue项目管理器;配置文件的配置在哪,以及如何配置
|
2月前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
101 2
|
3月前
|
JavaScript
如何在 Vue 项目中选择合适的模块格式
【10月更文挑战第20天】选择合适的模块格式需要综合考虑多个因素,没有一种绝对正确的选择。需要根据项目的具体情况进行权衡和分析。在实际选择过程中,要保持灵活性,根据项目的发展和变化适时调整模块格式。
25 7