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 · 3318 次点击
    这是一个创建于 374 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果前端的 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   ·   998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:48 · PVG 02:48 · LAX 11:48 · JFK 14:48
    ♥ Do have faith in what you're doing.