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个新特性整理汇总
相关阅读
- 2025所有iPhone17机型都将配备12GB内存
- iPhone17灵动岛变得更小?苹果重新设计了硬件
- 全面解析以太坊 区块链实例以太坊原理探讨
- 开源社区程序discourse安装部署(Debian12 )
- 海棠线上文学城网址 海棠文学登录入口
- Microsoft Office 2024专业版最新版安装包下载+安装教程 永久免费
- Office2021破解版软件安装激活教程+安装包下载8合1
- 蚂蚁庄园今日答案 每日最新题目解析与答案汇总
- 吸管能吸饮料主要依赖于?蚂蚁庄园答案
- 火狐浏览器如何备份旧数据在国际版恢复数据
- 区块链自媒体有哪些?一文了解区块链数据自媒体排行榜
- 京东方生产的BOE屏iPhone17Pro系列机型只供应中国市场
相关软件

幸存者危城
朕的江山
无尽洪荒
明珠三国
远征手游
蜀山传奇
梦想城镇
逍遥情缘
猎魔勇士
功夫之夜
地心守护
风暴迷城
坍塌世界
萌学园战纪
疯狂动物园
模拟城市:我是市长
军棋
少年名将





