压缩Vue.js打包后的体积方法总结(Vue.js打包后体积
问题
由于这次项目是在初学 Vue 之后的第一个正式项目,没有考虑到类似 路由懒加载、 按需加载的问题 ,所以呢,也算是没经验。
到了这些天,项目写得差不多了,准备放到服务器测试,才发现这个问题。
优化前
app.js 2.3MB vendor.js 2.4MB vendor.css 612kB app.js.map 9.13MB vendor.js.map 16.21MB //不一一列举....
优化
接下来看看优化方法。
优化步骤1 不生成.map文件
在 webpack.prod.cong.js 文件下,修改配置项 sourceMap 设置为 false 或者删除
new webpack.optimize.UglifyJsPlugin({ press: { warnings: false }, // sourceMap: true //将sourceMap关闭就不会打包出.map文件 }),
这样的话,开发环境就不会生成 .map 文件。
优化步骤2 按需加载
对于项目中,一些 通用 或者 不是特别差异 的组件可以使用按需加载,在需要的时候加载即可,并且会自动缓存。
这时候需要在 router 文件夹下的 index.js 文件修改路由配置中的 组件引入 方式
Vue.use(Router) export default new Router({ routes:[{ path:"/", ponent:function(resolve){ require(["./../ponents/Index"],resolve) } }] })
这样的话,这个组件就会在你需要加载的时候才会加载。
优化步骤3 VueRouter的懒加载
在 vue-router 的模块引入,将默认的 import .. from .. 引入方式,修改为一步。如下
const Foo = () => import("/Foo.vue) ```
然后在 `配置路由` 中,和之前一样使用
Vue.use(Router) export default new Router({ routes:[{ path:”/“, ponent:Foo }] })
优化步骤4将大的第三方包通过<script>标签引入
一般将类似 `echarts` 这种比较大的第三方依赖包,通过 `<script></script>` 标签来引入的话,会很大程度缩小打包的大小。
需要在 `vue` 配置文件这样配置
`webpack.base.config.js` 中添加 `不打包` 的包的名称,这样打包的时候才不会把这些包一起打包进去
module.exports = { entry:{...}, output:{...}, resolve:{...}, module:{...}, externals:{ "echarts":"echarts" //不打包的包名 } }
然后在 index.html 中用 <script></script> 标签引入依赖包的CDN或者其他地址。
优化步骤5 图片压缩
这个不用怎么说,有个地址很好用,推荐下tinypng
优化后
通过这几步骤,优化完成的每个文件都会缩小好多倍
app.js 136.2kB vendor.js 213.2kB vendor.css 612kB //css 这个我还没办法 app.js.map 0MB vendor.js.map 0MB
更多关于VUE压缩的方案大家可以看看狼蚁网站SEO优化的相关文章
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程