【问题标题】:Code splitting on offline applications离线应用程序的代码拆分
【发布时间】:2018-01-09 23:47:41
【问题描述】:

对于将所有代码捆绑到一个文件中的离线应用程序,使用代码拆分将app.jsvendor.js 分成不同的块是否有任何可能的优势?

请放弃使用不同模块加载供应商块的可能性

【问题讨论】:

  • 在离线应用中,没有加载资源失败的可能性,所以分块没有关系。

标签: javascript html web optimization webpack


【解决方案1】:

代码拆分的主要目标是只为用户提供当时需要的服务。这避免了需要下载单一的 js 包,并且理论上减少了用户在您的应用/网站上进行交互的时间。

无论如何,他们在本地拥有整个捆绑包,所以我看不出有任何理由拆分代码。

编辑:通过拆分代码可能会提高解析时间。这取决于应用程序是如何工作的,如果它是一个反应类型的应用程序,其中视图和路由器处理应用程序中的所有功能,那么在初始加载之后就没有性能可以提高。我建议阅读这篇文章以了解 js 解析时间https://medium.com/reloading/javascript-start-up-performance-69200f43b201

【讨论】:

  • 通过加载多个文件可以更快地启动应用程序吗?我知道浏览器需要时间来解析 js 文件并将其加载到内存中,我怀疑拆分是否会并行化此过程以及是否可以更快。
  • 大型 js 文件存在一些解析时间。如果 js 已经加载到内存中,则根据您的应用程序正在执行的操作,可能不需要拆分,但理论上它可能会提供一些改进的性能。我推荐阅读这篇文章medium.com/reloading/…
  • 文章确实不错。通常非常关注典型的 Web 应用程序案例,但可以在细节中阅读一些可以应用于离线应用程序的提示。使用async/defer 可以尝试,但也值得考虑浏览器缓存已编译的代码,但我没有关于此缓存如何失效的详细信息...
猜你喜欢
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 2020-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多