Javascript 何时进行代码拆分(反应-暂停和延迟) 我应该考虑什么样的束大小?什么时候重量变得太重,我应该把它分开。我没有拆分的整个包大约是800KB,因此加载速度相对较快。我只是想弄清楚它是否应该在10KB/100KB左右,等等。。。js大约需要50KB,所以我试图弄清楚是否应该拆分包含矩的所有模块

Javascript 何时进行代码拆分(反应-暂停和延迟) 我应该考虑什么样的束大小?什么时候重量变得太重,我应该把它分开。我没有拆分的整个包大约是800KB,因此加载速度相对较快。我只是想弄清楚它是否应该在10KB/100KB左右,等等。。。js大约需要50KB,所以我试图弄清楚是否应该拆分包含矩的所有模块,javascript,reactjs,optimization,code-splitting,Javascript,Reactjs,Optimization,Code Splitting,如果我不进行代码拆分,这是否意味着在加载初始页面后,总体上它会提供更好的用户体验,因为其他页面的加载速度会更快?我明白这会导致加载页面的第一次体验不好,但我只是想找出折衷办法 没有找到任何关于此信息的好资源。我正在使用CreateReact应用程序。800kb不是很大,但您的包越小越好 我认为只有一个捆绑包的主要问题是,如果你在应用程序中更改一个字符,你的所有客户都需要再次下载所有内容 让我们举一个例子: 你在代码中看到一个输入错误。您已经有数千名用户下载了带有此输入错误的800kb包 推送修

如果我不进行代码拆分,这是否意味着在加载初始页面后,总体上它会提供更好的用户体验,因为其他页面的加载速度会更快?我明白这会导致加载页面的第一次体验不好,但我只是想找出折衷办法


没有找到任何关于此信息的好资源。我正在使用CreateReact应用程序。

800kb不是很大,但您的包越小越好

我认为只有一个捆绑包的主要问题是,如果你在应用程序中更改一个字符,你的所有客户都需要再次下载所有内容

让我们举一个例子:

  • 你在代码中看到一个输入错误。您已经有数千名用户下载了带有此输入错误的800kb包
  • 推送修复(仅更改一个字符)
  • 您的所有用户都需要再次下载整个捆绑包(是的,他们需要再次下载Moment.js)。无论是1*800kb还是8*100kb,他们仍然需要下载800kb的数据。()
您要做的是,以一种允许用户只下载更改的文件的方式分割块。对于其他文件,它们可以缓存,因此无需再次下载。因此,在上面的示例中,您不希望您的用户再次下载矩.js,因为。。。它一点也没变

我建议您阅读这篇关于如何拆分捆绑包的非常好的文章:

您还可以通过创建“每页”区块来添加一级拆分。以下是如何使用React执行此操作:
如果您在A页上进行更改,您的用户将不必再次下载B页的块。

800kb不是很大,但您的包越小越好

我认为只有一个捆绑包的主要问题是,如果你在应用程序中更改一个字符,你的所有客户都需要再次下载所有内容

让我们举一个例子:

  • 你在代码中看到一个输入错误。您已经有数千名用户下载了带有此输入错误的800kb包
  • 推送修复(仅更改一个字符)
  • 您的所有用户都需要再次下载整个捆绑包(是的,他们需要再次下载Moment.js)。无论是1*800kb还是8*100kb,他们仍然需要下载800kb的数据。()
您要做的是,以一种允许用户只下载更改的文件的方式分割块。对于其他文件,它们可以缓存,因此无需再次下载。因此,在上面的示例中,您不希望您的用户再次下载矩.js,因为。。。它一点也没变

我建议您阅读这篇关于如何拆分捆绑包的非常好的文章:

您还可以通过创建“每页”区块来添加一级拆分。以下是如何使用React执行此操作:
如果您在A页上进行了更改,您的用户将不必再次下载B页的区块。

最重要的指标将始终是用户体验。在各种桌面和移动浏览器中查看它。看看“开始有意义内容的时间”和“互动的时间”是什么。如果它太长,您可能需要做一些事情(可能是拆分包,或服务器端渲染,或添加服务工作者,或可能用preact替换react,等等)。如果速度足够快,那么就不需要解决不存在的问题。最重要的指标将始终是用户体验。在各种桌面和移动浏览器中查看它。看看“开始有意义内容的时间”和“互动的时间”是什么。如果它太长,您可能需要做一些事情(可能是拆分包,或服务器端渲染,或添加服务工作者,或可能用preact替换react,等等)。如果它足够快,那么就不需要解决一个不存在的问题。