webpack打包文件过大的优化,提取第三方库(vue,ali-oss)到cdn,externals配置

问题产生原因:

vue或用其他第三方库webpack打包导致某单文件js过大。

优化形式:

webpack的externals配置,从输出的 bundle 中排除依赖。

可将第三方库放到html用cdn加载。类似<script src="...."></script>

调试方式:

可参考vue-cli 脚手架生成的webpack配置。

可执行下面命令

npm run build --report  //不清楚可以百度(webpack-bundle-analyzer)

之后,浏览器 F12 看NetWork,各个资源加载时间。

参考:

webpack外部扩展(externals)

https://webpack.docschina.org/configuration/externals/

阿里oss的引入Browser.js SDK 方式

https://help.aliyun.com/document_detail/64041.html?spm=a2c4g.11186623.6.1360.5c3b18c9jpzU7N

具体代码:

//webpack.base.conf.js

module.exports = {
  .......

  externals:{
    'vue': 'Vue',
    'vue-router': 'VueRouter',
    'vuex':'Vuex',
    'axios': 'axios',
    'ali-oss': 'OSS',
  },

  ........
}
//index.html

<!--vue cdn-->
<script type="text/javascript" src="https://cdn.bootcss.com/vue/2.5.2/vue.min.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/vuex/3.0.1/vuex.min.js"></script>

<!-- axios -->
<script type="text/javascript" src="https://cdn.bootcss.com/axios/0.18.0/axios.min.js"></script>

<!--阿里云 oss-->
<!-- 兼容IE的promise -->
<!-- <script src="https://www.promisejs.org/polyfills/promise-6.1.0.js"></script> -->
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.1.1.min.js"></script>

其他第三方UI库同样,element-ui,vant-ui等

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值