发现用 CSScomb 写 scss 简直是大坑!! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sunjourney

发现用 CSScomb 写 scss 简直是大坑!!

  •  
  •   sunjourney 2016 年 5 月 31 日 5625 次点击
    这是一个创建于 3615 天前的主题,其中的信息可能已经有所发展或是发生改变。

    CSScomb 简直是瞎搞,无脑把 $variables 收集到一起

    @function cal($paras) { $sum: 0; @each $para in $paras { $sum: $sum + $para; }; $double: $sum * 2; @return $double; } 

    过 comb 后就变成了

    @function cal($paras) { $sum: 0; $double: $sum * 2; @each $para in $paras { $sum: $sum + $para; }; @return $double; } 

    还有个传参的问题, list 参数用括号的形式在 Sublime 插件下会报错!

    @function cal($parasets...) { $sum: 0; @each $paraset in $parasets { @each $para in $paraset { $sum: $sum + $para; } } @return $sum; } 

    第一种调用不会报错:

    .test { height: cal(20px 20px, 30px 40px 10px); } 

    第二种则会报错:

    .test { height: cal((20px 20px), (30px 40px 10px)); } 

    看了下 sublime中 csscomb 的版本,大概是 sublime 的 csscomb.core 的版本太低不能识别, sublime-csscomb 也不更新下 core 。

    还有其它头疼的问题,产生的原因就只是想 csscomb 作个排序,它非要干一堆其它的事,搞得到处是 bug 。发现 bug 提个 issue 估计也是几百年没人看,毕竟三四年没人维护了,国内还有人当新东西安利。没人管的东西发起 rp 从来没人 merge , 心累!

    18 条回复    2016-06-01 13:09:12 +08:00
    jsonline
        1
    jsonline  
       2016 年 5 月 31 日 via Android
    我觉得排序本身就很无聊
    dphdjy
        2
    dphdjy  
       2016 年 5 月 31 日 via Android
    前排安利 stylus
    P233
        3
    P233  
       2016 年 5 月 31 日   1
    个人喜欢 CSScomb 的顺序,但是这个插件确实很坑,用过几次就不用了。

    目前用 scss-lint 控制属性的书写顺序,比较顺利,没遇到太大的问题 https://gist.github.com/P233/3a181ae29819b96dde05ae8863964e99

    其实 scss-lint 也很坑。

    准备过段时间全面转向 PostCSS
    sunjourney
        4
    sunjourney  
    OP
       2016 年 5 月 31 日
    @dphdjy
    @P233 感谢安利, Stylus 和 PostCSS 闻名却未接触过,看来有可取之处,不过目前很多框架集成的还是 scss ,转换 PostCSS 现成可复用的框架估计不够用了, scss-lint 似乎值得目前体验体验
    banricho
        5
    banricho  
       2016 年 5 月 31 日 via Android
    个人建议 PostCSS 配合 PostCSS Sorting
    xhyzidane
        6
    xhyzidane  
       2016 年 6 月 1 日
    排序和一些格式化我觉得很重要。
    我现在用 Atom 自带的 beautify 插件,导入 .csscomb.json 配置,然后手动格式化 css 文件。对于用预处理器的,生成 css 之后再 csscomb 这种方法可行吗?
    freewheel
      &nsp; 7
    freewheel  
       2016 年 6 月 1 日
    个人建议 less postcss , sass 还需要 ruby
    banricho
        8
    banricho  
       2016 年 6 月 1 日 via Android
    @xhyzidane 其实我觉得排序这东西没必要太看重,现在前端构建工具基本都会对 CSS 进行一些处理。排序的更多意义是暴露一些重复属性等编码上的失误,以及强迫症提升自己代码的美观程度。
    曾经有人说, CSS 排序可以略微提高性能,这就和很多人禁止多层选择器和一些高级选择器一样,其实对性能影响几乎无法被感知。。。
    sunjourney
        9
    sunjourney  
    OP
       2016 年 6 月 1 日
    @banricho 用过 PostCSS Sorting ,发现和 CSScomb 一样是把变量收集到一块,破坏程序流,然而这个功能在 @mixin 和 @function 中本应被禁止或者改进( mixin 中也会出现需要 sort 的情况)。排序后 css 更容易被维护,被折腾这么久后的感受还是 trust your brain, not tools 。人脑排序好了。
    amery2010
        10
    amery2010  
       2016 年 6 月 1 日
    我觉得楼主是用法错了吧...

    CSScomb 是为了梳理 css 代码而存在的,理应用在原生的 css 上,用在 scss 里肯定会有问题的...如果真要用那也应该用在编译后的 css 上。难道楼主的 scss 不编译么?
    sunjourney
        11
    sunjourney  
    OP
       2016 年 6 月 1 日
    @amery2010 既然用 scss , 为何还管 css 呢? scss 梳理是为了好看和维护,当然有这个必要,何况 CSScomb 支持 scss 就说明可以这么用。
    Sivan
        12
    Sivan  
       2016 年 6 月 1 日 via iPhone
    @freewheel 有 libsass ,不需要 ruby 而且编译跟 less 一样快
    sunjourney
        13
    sunjourney  
    OP
       2016 年 6 月 1 日 via iPhone
    @Sivan 看过一篇文章,各种 compiler 测过一个用例, ruby sass 用 1000ms 完成的, libsass 只要 160ms
    nijux
        14
    nijux  
    &nsp;  2016 年 6 月 1 日
    @amery2010 比较赞同, scss 生成 css 文件通过 CSScomb 处理下,给浏览器吃的时候比较好吃。
    sunjourney
        15
    sunjourney  
    OP
       2016 年 6 月 1 日
    @nijux 浏览器用的 css 都是 compressed ,用啥 CSScomb
    nijux
        16
    nijux  
       2016 年 6 月 1 日
    @sunjourney 3 年前这么用的啊,发现我落伍了,那时候还写的 css 先用 CSScomb 处理下最后发布的时候在压缩的。就像你说的这个工具是落伍了,跟不上现在的潮流了,代码都好久没更新过了
    beew
        17
    beew  
       2016 年 6 月 1 日
    写 scss 不用 comb ,这是给 css 用的
    freewheel
        18
    freewheel  
       2016 年 6 月 1 日
    @Sivan 你看看安装的过程~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2839 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 87ms UTC 13:00 PVG 21:00 LAX 06:00 JFK 09:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86