Я использую webpack
и css-loader
, а в моей конфигурации css-loader
я использую следующие параметры:
options: {
importLoaders: 1,
modules: true,
localIdentName: '[hash:base64:3]'
}
Как вы видите, очевидно, что я хочу, чтобы все имена моих классов имели 3 символа, и после сборки мое желание полностью сбылось, но есть очень большая проблема.
Некоторые имена классов совпадают! (конфликт!)
Например:
._1mk { /*dev name was .home*/
color: red;
} /*line 90*/
а также
._1mk { /*dev name was .news*/
color: blue;
}
Это большая проблема, но когда я использую [hash:base64:5]
, все будет в порядке, и каждый класс имеет свое имя хеша без каких-либо конфликтов.
Я искал этот вопрос около 4 часов и видел, что все разработчики используют число 5 как меньшую длину хэша для своей конфигурации. Я не знаю почему! Я подсчитал, что 64 символа [a-z][A-Z][0-9][-,_] в трех длинах могут иметь 262144 разных слова, так почему же они не могут иметь разные имена?
как мне разрешить этот конфликт? Неужели я должен пропустить цифру 3? и использовать 5, как другие?