
Bartosz Goralewicz 向Google 的Martin Splitt 提出了一个有趣的问题。他问我们是否应该将CSS 和JavaScript 文件分解成更小的文件块。马丁的回答很长,但简而言之,这要视情况而定。 🙂
似乎使用较小的块可以帮助解决调试问题以及谷歌缓存问题,但它可能会导致其他问题。所以如果你这样做,让你的块合理并且不要过度。 Bartosz 总结道 推特 说“拥有*合理*块很好,但也不要疯狂地每隔几个小时为所有文件部署更改。最好只将更改部署到*需要*它的单个文件,而不是更改只是为了部署的版本?”
这是问题:
2/2 … Google 更难处理繁重的脚本,因为当您呈现/索引所有内容或完全跳过它时,它会创建0/1 场景。问题1 是否正确2 你们是否有启发式方法/选项来部分编写/呈现JS 文件(我们假设它不可能)?
— 巴托斯·戈拉莱维茨(@bart_goralewicz) 2020 年6 月16 日
这是他的七部分答案:
“跳过”场景不是罪魁祸首,但你已经接近了。渲染单个大包有两个问题:
– 不可恢复的解析或执行错误
– 缓存1/?
– Martin Splitt 在🏡🇨🇭 (@g33konaut) 2020 年6 月17 日
3/?某些错误可能会破坏解析,在这种情况下,整个JS 文件可能无法执行。如果它是100% 的CSR,那就太糟糕了。
在执行过程中,某些错误也可以完全避免,您又会陷入困境。
– Martin Splitt 在🏡🇨🇭 (@g33konaut) 2020 年6 月17 日
5/?老实说,我认为这更像是一个假设场景,而不是现实世界中的问题。但是缓存是我在野外看到的一个真正的问题。我们积极缓存,有些人经常部署更改。这可以有两种方式。
– Martin Splitt 在🏡🇨🇭 (@g33konaut) 2020 年6 月17 日
7/?但是如果bundle 被*合理地*分成更小的块,那么这种失效可以更细粒度(沿着块),这对用户和我们来说都是很好的。
– Martin Splitt 在🏡🇨🇭 (@g33konaut) 2020 年6 月17 日
但这里还有更多:
我不会。如果我想安全起见,我会将旧文件保留一段时间。
– Martin Splitt 在🏡🇨🇭 (@g33konaut) 2020 年6 月17 日
论坛讨论于 推特.