153. uglify CSS class names
シェアしよう
少し工夫が必要 - accepted / - tried
css-loaderを使う場合、,
localIdentName
を利用してclassNameを変換できます。下記のように:
localIdentName: "[path][name]__[local]--[hash:base64:5]",
または独自のgetLocalIdent
関数を作れば、任意のclass nameを利用することができます。
unique class nameを生成する関数を作ってください
- アルファベットだけ利用する:
a
toz
,A
toZ
- 実行するたびにclass nameを返す
- class nameの順番は、まず長さ順であとはアルファベット順(小文字は先)
- リセットする関数も提供してください
getUniqueClassName()
// 'a'
getUniqueClassName()
// 'b'
getUniqueClassName()
// 'c'
// skip cases till 'Y'
getUniqueClassName()
// 'Z'
getUniqueClassName()
// 'aa'
getUniqueClassName()
// 'ab'
getUniqueClassName()
// 'ac'
// skip more cases
getUniqueClassName()
// 'ZZ'
getUniqueClassName()
// 'aaa'
getUniqueClassName()
// 'aab'
getUniqueClassName()
// 'aac'
getUniqueClassName.reset()
getUniqueClassName()
// 'a'