localIdentName哈希冲突

3
在我们的应用中,使用CSS模块,一些样式名称非常冗长。对于我们的生产构建来说,将这些名称缩短似乎是明智的选择。由此引发了两个问题:
这在DOM方面是否重要?缩短类名是否会使浏览器更容易渲染?
如果这很重要,我希望类只是一个简短的哈希值:
localIdentName: '[hash:base64:5]',

然而,使用五个字符并不是一个非常大的地址空间。在css-loader中是否有处理哈希冲突的方法?


渲染性能不应受类名大小的影响。浏览器应该对类名进行标记化处理。从捆绑包大小的角度来看,较短的名称意味着更少的网络流量,但如果您使用gzip压缩,则可能会压缩掉重复的名称,因此拥有长名称并不太重要。对于解析性能而言,长度确实很重要,但与应用程序的其他部分相比,CSS的解析时间不应太长。 - Hoffmann
1个回答

4

我测试了一下(在发布问题前我本可以这样做),结果并不支持哈希碰撞。我将localIdentName设置为:

 localIdentName: '[hash:base64:1]',

同时出现了大量不同的样式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接