React组件开发过程中 往往为了偷懒而使用JSX行内样式进行开发, 后续才进行拆分模块化
但是拆分的时候,复制JSX的行内样式转成CSS就是很恶心🤢的一个问题,要把引号去掉,把逗号改为分号,驼峰改成中划线
源自偷懒的本能, 索性就造个轮子解决一下~
同时也造了个Alfred的插件 https://github.com/WangGuibin/WGBToolsConfigRepository/raw/master/oh-my-workflows/JSX行内样式与CSS样式互转工具.alfredworkflow
但是拆分的时候,复制JSX的行内样式转成CSS就是很恶心🤢的一个问题,要把引号去掉,把逗号改为分号,驼峰改成中划线
源自偷懒的本能, 索性就造个轮子解决一下~
同时也造了个Alfred的插件 https://github.com/WangGuibin/WGBToolsConfigRepository/raw/master/oh-my-workflows/JSX行内样式与CSS样式互转工具.alfredworkflow
JSX => CSS
- 驼峰 => 中划线
- 单/双引号转无引号
- 逗号转分号
jsx
display:'flex',
justifyContent:'flex-start’,
flexDirection:’row’,
alignItems:’center’,
flexFlow:’wrap',
CSS => JSX
css
display:flex;
justify-content:flex-start;
flex-direction:row;
align-items:center;
flex-flow:wrap;
- 分号分割
- 遍历 分割冒号
a. 第一部分 中划线 => 驼峰
b. 第二部分 加上单引号
c. 拼接第一和第二部分用逗号连接
核心代码
//驼峰转中划线
function toMidLine(text) {
return text.replace(/([A-Z])/g, "-$1").toLowerCase();
}
//中划线转驼峰
function toHump(name) {
return name.replace(/\-(\w)/g, function(all, letter) {
return letter.toUpperCase();
});
}
//jsx => css
function jsx2css(text) {
text = toMidLine(text);
text = text.replace(/\"/g, "");
text = text.replace(/\'/g, "")
text = text.replace(/,/g, ";")
return text;
}
//css => jsx
function css2jsx(text) {
var rowArr = text.split(';');
rowArr.pop();
var result = '';
for (let i = 0; i < rowArr.length; i++) {
var ele = rowArr[i].split(":");
var firstEle = ele[0].trim();
var prefix = toHump(firstEle) + ':'
var lastEle = ele[1].trim();
result += prefix + "'" + lastEle + "',";
result += '\n';
}
return result;
}
- 上一篇:关于使用Xcode的奇技淫巧
- 下一篇: Xcode13正式版40个新特性整理汇总
- 《Battle Gang》:超能萌宠,团队欢乐竞技新体验!
- 最新版本iPhoneSE将在2025年3月发布 依然搭载苹果5G调制解调器
- Bungie射击新作《Marathon》上架Steam页面
- 《Save Your Nuts》:坚果保卫战,智斗与趣味的碰撞
- Google Play 上架审核标准又收紧,换种解题思路行不行?
- 《糖豆人》与《星球大战》联动,4款IP皮肤上线
- 第一个高速6G原型设备推出 可达到100Gbps速度
- 苹果2024首场发布会时间将为“35分钟左右”?
- iPhone16会有全新的“沙漠钛色”和“钛灰色”选择
- 新版iPadmini要来了 苹果5月7日即将举行新品活动
- 苹果再次和OpenAI进行谈判后者提供人工智能技术给iPhone等产品
- 苹果推出的12.9英寸iPad Air将采用LCD屏
相关软件