vue打包文件vendor.js或app.js过大,如何优化减小体积?

我们在使用webpack的时候,发布到生产环境时会进行打包,发现自己打包的vendor.js有1M多。在调试时使用slow 3G网络加载超过30s,不过这只是个测试,现在基本不用3G网络了;但是打包文件过大,还是会导致加载时间变慢,用户成功进入首屏的时间边长,影响体验。所以尝试了以下几种优化方案。

优化方案

1.设置prodctionSourceMap

在build/webpack.base.conf.js下找到属性prodctionSourceMap,默认为true,会生成一些加密的map文件,体积较大,将其设置为false。

听说生产环境下prodctionSourceMap为true的时候能看到源码。点击详情
在这里插入图片描述
2.配置externals

需要在index.html的中引入cdn;这里要注意提供的 cdn 是否会出现不稳定的情况。
在这里插入图片描述
在build/webpack.base.conf.js中配置externals,左边为要导入的依赖的名字,右边为别名;
在这里插入图片描述
在使用的文件下,还是需要使用import导入
在这里插入图片描述
3.路由懒加载

未使用懒加载:

import Type from '@/views/guide/type';

export default new Router({
  routes: [{
      path: '/',
      redirect: {
        name: 'Type'
      }
    }]
})

使用懒加载:

const Type = () => import('@/views/guide/type');

export default new Router({
  routes: [{
      path: '/',
      redirect: {
        name: 'Type'
      }
    }]
})

注意:虽然懒加载减小了打包文件的大小,减少首页加载用时。但是可能会导致页面跳转不流畅,会造成卡顿。

项目打包对比

优化前:
优化前
优化后:
优化后

要将Vue打包成beta app.js,你可以按照以下步骤进行操作: 1. 在webpack.base.config.js文件,找到entry属性,并将其设置为你的入口文件路径,例如:'./src/main.js'。\[1\] 2. 在webpack.base.config.js文件,找到externals属性,并添加VueVueRouter、axios和ELEMENT的外部引用,例如:'vue': 'Vue'。\[1\] 3. 在webpack.base.config.js文件,找到output属性,并设置输出文件的路径和名称,例如:'\[name\].js'。\[1\] 4. 在index.html文件,添加VueVueRouter、axios和ELEMENT的CDN链接,例如:'<script src="https://cdn.bootcss.com/vue/2.6.6/vue.min.js"></script>'.\[2\] 5. 如果你想让浏览器在开发模式下同时显示警告和错误信息,可以在vue.config.js文件添加以下代码: ```javascript module.exports = { devServer: { overlay: { warnings: true, errors: true } } } ``` 这样,当你运行开发服务器时,浏览器将在页面上显示警告和错误信息。\[3\] 请注意,以上步骤是基于Vue的常见配置和打包方式,具体的配置可能因项目而异。你需要根据你的项目结构和需求进行相应的调整。 #### 引用[.reference_title] - *1* *2* [Vue 打包后app.css,verondor.js文件过大 webpack](https://blog.csdn.net/qq_42374676/article/details/109688382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [初入Vue(二)-vue.config.js](https://blog.csdn.net/develop_csdn/article/details/126172441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值