我们的项目随着组件的加入,首次加载的js文件越来越大,用户等待时间越来越长;之前想着使用webpack的splitCoding来解决,看了webpack的官方文档可以配置optimization的

moduleIds这个属性来将node_modules中的公用的库的代码提取出来,如果代码没有变化,那么就不会改变文件的hash值,但是我用的是vue的nuxt框架,设置这个属性后每次build还是会生成新的hash值,每次用户都还是会下载新的文件,而我们的项目又会经常部署,显然这个方案不行;
 
最后我只能加一些比较大的库像threejs,phaser,videojs等直接加载.min.js文件,加载完后在执行相关的代码,

还有一些则是采用js的动态加载方案

,最后将项目的代码的首次加载时间控制在1-2秒左右,体验效果好了很多!!

最新文章

  1. Unity4.3 bug GetChild顺序错乱
  2. mysql 按距离今日时间最近排序
  3. Effective Java 62 Document all exceptions thrown by each method
  4. Java-小数点控制
  5. Swift游戏实战-跑酷熊猫 08 产生源源不断的移动平台
  6. YII2配置多语言
  7. 二维码zxing源码分析(二)decode部分
  8. Java这个名字怎么来
  9. vmware安装FreeBSD8.3全攻略【教程】
  10. JS中的循环结构
  11. ④bootstrap列表使用基础案例
  12. Retrofit网络请求库应用02——json解析
  13. 白话讲述Java中volatile关键字
  14. html注意事项
  15. Linux基础入门-目录结构及文件基本操作
  16. [vue]webpack使用样式
  17. Java中的内部类————以及jdk1.8的lambda表达式
  18. postman获取全局
  19. 黑苹果 之 神舟战神Z7M-SL7D2
  20. select2加载远程数据示例

热门文章

  1. TransactionSynchronizationManager用法和含义(转)
  2. [Functional Programming] Using ComposeK for both get State and modify State
  3. (WA)BZOJ 1503: [NOI2004]郁闷的出纳员
  4. UVALive 4726 Average ——(斜率优化DP)
  5. 关系型数据库的树形结构查询(Oracle、Postgres)
  6. Python 中操作 MySQL
  7. maven的pom报错web.xml is missing and <failOnMissingWebXml> is set to true
  8. Parameter 'list1' not found. Available parameters are [list] 解析
  9. 学习ArrayList的扩容机制
  10. C++ 基础学习笔记