最近用到了 Naive UI,感觉以后前端写 css 是不是也要用 js 来写了呀。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
yayaluoya481
V2EX    Javascript

最近用到了 Naive UI,感觉以后前端写 css 是不是也要用 js 来写了呀。

  •  
  •   yayaluoya481 2024-10-09 15:38:58 +08:00 3475 次点击
    这是一个创建于 416 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果前端的 html ,css 全部用 js 来写的话其实感觉还行,如果用 ts 来写的话就有类型约束了更爽。

    16 条回复    2024-10-14 14:46:18 +08:00
    nulIptr
        1
    nulIptr  
       2024-10-09 15:43:37 +08:00
    啊? css 有类型约束有什么优势吗,一共就这么多属性名编辑器的补全不够用?
    jqtmviyu
        2
    jqtmviyu  
       2024-10-09 15:44:35 +08:00
    我讨厌 css in js, 还有 原子化 css.
    巨难接受 naive ui 的 h 函数. 特别是表格那边的使用.
    kev1nzh
        3
    kev1nzh  
       2024-10-09 15:47:37 +08:00
    有贡献过代码,作者写的那个还挺好用的
    LuckyLauncher
        4
    LuckyLauncher  
       2024-10-09 15:48:00 +08:00
    css 用类型约束???
    各家浏览器的实现和版本约束不死你
    lollipogo
        5
    lollipogo  
       2024-10-09 15:48:22 +08:00
    我是更喜欢 Tailwind 的方式,配合 VSCode 插件挺好用的。另外 TS 的话见仁见智,我现在部分情况如枚举、纯工具函数之类的会单独用 TS 写,大部分还是用 JS 写,部分 JS 函数也可以再把注释完善一下,其实用起来代码提示也够了
    yayaluoya481
        6
    yayaluoya481  
    OP
       2024-10-09 15:54:05 +08:00
    @lollipogo js+jsdoc 很好用,但是写起来很繁杂,没 ts 类型写着简洁。
    yayaluoya481
        7
    yayaluoya481  
    OP
       2024-10-09 15:56:15 +08:00
    @nulIptr 也不是类型约束吧,就是要知道一个 jsx 的元素用到了哪些样式,定义了哪些东西,在哪里定义的,不然样式分布在各个 css 文件中改起来是真的恶心。
    server
        8
    server  
       2024-10-09 16:02:35 +08:00
    非前端, 怎么快怎么来 最近痴迷 shadcn/ui
    lisongeee
        9
    lisongeee  
       2024-10-09 16:09:43 +08:00
    @jqtmviyu

    naive ui 应该是 jsx/tsx 来写方便,它那个文档示例全用 h 函数写得有问题,会误导不了解 jsx 的人
    chengxy
        10
    chengxy  
       2024-10-09 16:11:44 +08:00
    @jqtmviyu #2 你把 lang 改成 tsx ,用 tsx 写不就行了,只是官方文档没写清楚.
    shintendo
        11
    shintendo  
       2024-10-09 16:33:36 +08:00
    写 React 的时候踩过好几次的坑:打草稿阶段直接在 JSX 里用 style 对象写样式,满意了之后整理出来到 css 里,但是前者写颜色值是带引号的,挪到后者里要去掉引号,但是这个视觉上不明显,很容易遗漏

    后来开了类型检查就好了
    jspatrick
        12
    jspatrick  
       2024-10-09 17:42:12 +08:00
    听你的描述,看上去得上个 unocss 之类的东西,就没这烦恼了
    zxdstyle
        13
    zxdstyle  
       2024-10-10 10:23:26 +08:00
    css 要的不是类型约束,是强类型,例如 cssinjs 就可以大幅提高 css 的可维护性。试想一下,一个大型项目,几百上千个 css 文件,一大堆 class ,没人敢删一行代码。你不知道哪个地方使用了这个 class ,cssinjs 可以,样式是否被引用,哪里引用,一目了然。
    yayaluoya481
        14
    yayaluoya481  
    OP
       2024-10-10 10:28:16 +08:00
    @zxdstyle 就是这个意思,要能方便找到样式在哪里被定义的,在哪些地方被使用了。
    Dotennin
        15
    Dotennin  
       2024-10-10 12:41:31 +08:00
    一些旧的项目重构, 好几个 global css 文件堆叠. 重复的部分一堆. 但一个都删不掉. 你就知道有多痛苦了.
    07akioni
        16
    07akioni  
       2024-10-14 14:46:18 +08:00
    不会的,CSS 很多功能放到 JS 里面太绕了,SSR 、构建、工具链都会有各自的问题,并且不是普通开发者有能力处理的。

    放不放到 JS 里面最终只能是甜、咸之争,看风味。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2860 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:17 PVG 08:17 LAX 16:17 JFK 19:17
    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