vue项目如何打包之项目打包优化(让打包的js文件变小)


Posted in Vue.js onApril 30, 2022

通常在一个vue项目中会用到很多插件什么,swiper,axios,vuerouter,vuex,…,那么使用了很多插件势必会造成打包的js文件过大,影响加载速度,造成不好的用户体验,那么我就来讲一件我自己总结打包方式,(让js文件变小)

我使用的命令是 vue ui 可视化打包操作

vue项目如何打包之项目打包优化(让打包的js文件变小)

进入可视化面板

vue项目如何打包之项目打包优化(让打包的js文件变小)

默认情况下,vue-cli 3.0生成的项目,隐藏了webpack配置项,如果我们需要配置webpack

需要通过vue.config.js来配置

在项目根目录中创建vue.config.js文件,

vue项目如何打包之项目打包优化(让打包的js文件变小)

module.exports = {
    chainWebpack:config=>{
        //发布模式
        config.when(process.env.NODE_ENV === 'production',config=>{
            //entry找到默认的打包入口,调用clear则是删除默认的打包入口
            //add添加新的打包入口
            config.entry('app').clear().add('./src/main-prod.js')
        })
        //开发模式
        config.when(process.env.NODE_ENV === 'development',config=>{
            config.entry('app').clear().add('./src/main-dev.js')
        })
    }
}

补充:

chainWebpack可以通过链式编程的形式,修改webpack配置

configureWebpack可以通过操作对象的形式,修改webpack配置

**###7.加载外部CDN

默认情况下,依赖项的所有第三方包都会被打包到js/chunk-vendors.

.js文件中,导致该js文件过大

那么我们可以通过externals排除这些包,使它们不被打包到js/chunk-vendors.

module.exports = {
    chainWebpack:config=>{
        //发布模式
        config.when(process.env.NODE_ENV === 'production',config=>{
            //entry找到默认的打包入口,调用clear则是删除默认的打包入口
            //add添加新的打包入口
            config.entry('app').clear().add('./src/main-prod.js')
            //使用externals设置排除项
            config.set('externals',{
                vue:'Vue',
                'vue-router':'VueRouter',
                axios:'axios',
                moment:'moment'
            })
        })
        //开发模式
        config.when(process.env.NODE_ENV === 'development',config=>{
            config.entry('app').clear().add('./src/main-dev.js')
        })
    }
}

在public 中的index文件中使用cdn引入外部js 从而然打包的js文件体积变小

vue项目如何打包之项目打包优化(让打包的js文件变小)

我们来看下 没有使用externals设置排除项 打包的js体积大小

vue项目如何打包之项目打包优化(让打包的js文件变小)

来看下使用externals设置排除项以后的大小

vue项目如何打包之项目打包优化(让打包的js文件变小)

明显变小了,而且把项目跑在服务器上 明显加载速度提升了很多

其他的优化还有 使用vuerouter 的路由懒加载,这里就不再赘述,vuerouter懒加载解释


Tags in this post...

Vue.js 相关文章推荐
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
vue实现滚动鼠标滚轮切换页面
Dec 13 Vue.js
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
vue3自定义dialog、modal组件的方法
Jan 04 Vue.js
vue backtop组件的实现完整代码
Apr 07 Vue.js
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
Vue3.0写自定义指令的简单步骤记录
Jun 27 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
详解Vue slot插槽
Nov 20 Vue.js
前端vue+express实现文件的上传下载示例
Feb 18 Vue.js
关于vue-router-link选择样式设置
Apr 30 #Vue.js
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 #Vue.js
解决vue自定义组件@click点击失效问题
Apr 30 #Vue.js
Vue操作Storage本地化存储
Apr 29 #Vue.js
使用vuex-persistedstate本地存储vuex
Apr 29 #Vue.js
详解Vue3使用axios的配置教程
Apr 29 #Vue.js
vue生命周期钩子函数以及触发时机
Apr 26 #Vue.js
You might like
PHP获取当前文件所在目录 getcwd()函数
2009/05/13 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
可缩放Reloaded-一个针对可缩放元素的复用组件
2007/03/10 Javascript
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
JS验证码实现代码
2017/09/14 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
python小白学习包管理器pip安装
2020/06/09 Python
手工制作的豪华英式沙发和沙发床:Willow & Hall
2019/05/03 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
行政管理专业推荐信
2013/11/02 职场文书
求职信模版
2013/11/30 职场文书
大学毕业感言100字
2014/02/03 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
银行员工考核评语
2014/12/31 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
离婚纠纷代理词
2015/05/23 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
教师节领导致辞
2015/07/29 职场文书