Javascript Facebook和google是如何将html选择器id和类名随机化的?

Javascript Facebook和google是如何将html选择器id和类名随机化的?,javascript,html,css,node.js,facebook,Javascript,Html,Css,Node.js,Facebook,比如说, <div class="_4-u2 _1qby focus_target _4-u8" id="rc.u_0_x"></div> 我确信dev版本将包含人类可读的上下文选择器名称 我能理解为什么。有关原因,请参阅 我想弄清楚这部分是怎么做的。是否有npm包或js库可以帮助将名称随机分配到产品版本。它们不是随机的,但也不是固定的。它们通常用于组件标识或编译/优化的结果,并且是特定于实现的 例如,如果我没记错的话,React具有datareactid属性,元素

比如说,

<div class="_4-u2 _1qby focus_target _4-u8" id="rc.u_0_x"></div>

我确信dev版本将包含人类可读的上下文选择器名称

我能理解为什么。有关原因,请参阅


我想弄清楚这部分是怎么做的。是否有npm包或js库可以帮助将名称随机分配到产品版本。

它们不是随机的,但也不是固定的。它们通常用于组件标识或编译/优化的结果,并且是特定于实现的


例如,如果我没记错的话,React具有
datareactid
属性,元素上有一个随机数值,用于组件标识。Ractive.js具有
data-Ractive
属性,在元素上具有32个字符的哈希值,用于CSS作用域。BEM CSS命名约定有一个
.block\u元素--modifier
类名结构,可以很容易地压缩成几个字符。

它们不是随机的,但也不是固定的。它们通常用于组件标识或编译/优化的结果,并且是特定于实现的

例如,如果我没记错的话,React具有
datareactid
属性,元素上有一个随机数值,用于组件标识。Ractive.js具有
data-Ractive
属性,在元素上具有32个字符的哈希值,用于CSS作用域。BEM CSS命名约定有一个
.block\u元素--modifier
类名结构,可以很容易地压缩为几个字符