本文最后更新于:2025年1月29日 凌晨
153. uglify CSS class names
如果你在项目中使用了css-loader, 你可以像这样通过localIdentName
来变换class name。
1
| localIdentName: "[path][name]__[local]--[hash:base64:5]",
|
你也可以传入自定义的getLocalIdent
函数来自由生成class name。
请完成一个class name生成函数 并满足以下要求
- 仅使用字母:
a
- z
, A
- Z
- 调用一次返回一个类名
- 返回的类名序列需要满足: 先短后长,相同长度按照字母排序(小写字母优先)
- 同时提供一个reset函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName()
getUniqueClassName.reset()
getUniqueClassName()
|
ans:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| let id = 0; const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
function getUniqueClassName() { let className = ""; let num = id++; while(num >= 0) { className = chars[num % chars.length] + className; num = Math.floor(num / chars.length) - 1; } return className; }
getUniqueClassName.reset = function() { id = 0; }
|