Skip to content

feat: 考虑支持超合金组件 #267

Open
@XDcedar

Description

虽然现在应该不会考虑支持超合金组件,不过感觉还是有必要讨论一下这个问题,不希望新站点一出来所有超合金组件全都没法维护了。姑且先开个 Issue。

我想到两点需要考虑:

  • 类名。超合金组件经常需要查找页面元素,如果新站点仅仅是布局变了,那组件作者跟进修改一下就好,但是新站点使用了 CSS Modules,页面元素的类名会有易变动的后缀,不方便解析,也比较影响组件代码的可读性。我觉得需要想个方法规避这个问题。比如,专门添加一个类,不添加样式,只为了方便组件通过类名查找元素?
    参考 @FoundTheWOUT[Feature Request]: 支持超合金组件 server#266 (comment) 提供的思路:

    1. 区分网站样式与 design 包样式,比如加个前缀 _website_
    2. website 包下的组件样式可以直接取组件名作为 suffix
    3. 而页面样式比如 index.module.less 或者 style.module.less 可以从路径入手,也可以按照某种约定(比如路由地址)修改现有样式名,再直接用该名作为 suffix。
  • 前端API。添加一个 API 方便超合金组件创建风格统一的页面元素,比如按钮、标签、菜单等。类似于 chiiLib(虽然 chiiLib 好像没有创建页面元素的功能)?

参考:bangumi/server#266

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions