css-loader localIdentName:是唯一性必需的哈希吗?

Sco*_*y H 18 css reactjs webpack css-modules css-loader

在CSS-装载机README建议localIdentName设置为

'[path][name]__[local]--[hash:base64:5]'
Run Code Online (Sandbox Code Playgroud)

是否需要哈希后缀?它仍然是独一无二的吗?

'[path][name]__[local]'
Run Code Online (Sandbox Code Playgroud)

为什么或者为什么不?

在这个GitHub问题讨论中#3是一个选项的事实让我相信它可能没有必要.

jor*_*gos 12

该localIdentName用于随着modules选项:

{
  loader: 'css-loader',
  options: {
    modules: true,
    localIdentName: '[path][name]__[local]--[hash:base64:5]'
  }
}
Run Code Online (Sandbox Code Playgroud)

它生成更长的类名,例如:

.src-styles-main__world-grid--R7u-K
 ---------------  ----------  -----
      path,name     local      hash

.src-styles-main__world-grid
 ---------------  ----------
      path,name     local
Run Code Online (Sandbox Code Playgroud)

因此,只要路径、名称和类名生成唯一 ID,就不需要散列。不太可能需要散列。