vue之webpack打包的一些理解
??一个使用vue-cli2创建的项目,npm run build 打包后的文件目录如下: ??打包后的文件分析: app.js:基本就是你实际编写的那个app.vue(.vue或.js?),没这个页面跑不起来. vendor.js:vue-cli全家桶默认配置里面这个chunk就是将所有从node_modules/里require(import)的依赖都打包到这里,所以这个就是所有node_modules/下的被require(import)的js文件 manifest.js: 最后一个chunk,被注入了webpackJsonp的定义及异步加载相关的定义(webpack调用CommonsChunkPlugin处理后模块管理的核心,因为是核心,所以要第一个进行加载,不然会报错)
??如果打包后的app.js和vendor.js文件过大导致加载过慢怎么办? ??可在访问应用的时候,F12查看请求的app.js和vendor.js大小已经响应时间 ??网上的解决方法: ??1) cdn引入各种包,index.html中cdn的方式引入vue、vuex、axios、element-ui、vue-router等包。注释掉相应的import Vue.use ??2) 如果vendor.js文件很小,页面还是加载很慢的话,我们看看路由是否是使用import方式去引入页面,improt的方式是非懒加载的路由配置
// 非懒加载的路由配置
import HelloWorld from '@/components/HelloWorld'
// 懒加载的路由配置
const HelloWorld = () => import('@/components/HelloWorld')
??3) 如果项目使用了Vue的路由懒加载、Vue使用CDN引用项目组件,减少项目体积 后,还是觉得项目加载速度慢,效果不尽如人意的时候,还有一个“瘦身项目”可以完成,那就是利用nginx和webpack来使用gzip压缩功能
|