前言
设计系统中的设计通常是使用调色板、字体、栅格和其他视觉元素组成设计原则和规范。这些元素的颜色、尺寸、边距等属性分别称为 **design token(设计令牌)**,它们通常以 sass, less 和 json 的形式定义,然后根据这些定义生成 CSS 样式表。
为了提高设计系统的维护性和可扩展性,我们可以将设计令牌抽象出来并存储到 npm 包中。这样在多个项目中使用相同的设计令牌,可以减少重复的工作量并提高代码的一致性。同时,通过使用 design token ,还可以提高团队之间的沟通效率。
在本教程中,我们将介绍如何使用 design-tokenize
这个 npm 包来构建一个具有设计令牌的设计系统。
安装
首先,我们需要安装 design-tokenize
npm 包。打开你的终端,输入以下命令:
--- ------- --------------- ----------
或者使用 npm/yarn 包管理器添加依赖
--- ------- ---------- ---------------
使用
接下来,我们将在一个新的项目中使用 design-tokenize
。
1. 创建配置文件
创建项目根目录的 tokens.json
文件,用于存储我们的设计令牌。在 tokens.json
中,我们可以定义多种类型的令牌,例如:
- -------- - ---------- - -------- --------- -- ------------ - -------- ------ - -- ------------- - -------------- - -------- ----------- ------ ----------- -- ------------ - -------- - -------- ------ -- --------- - -------- ------ -- -------- - -------- ------ - - - -
2. 构建 CSS 样式表
通过运行 $ npx design-tokenize
命令,将配置文件 tokens.json
转换为 styles.css
文件:
--- --------------- ------- ----------- -------- ----------
3. 在 HTML 中使用
现在,我们可以在 HTML 中使用 styles.css
文件,通过应用样式类名的方式来使用设计令牌:
------ ------ ----- ---------------- ------------------ ------- ------ --- ------------------------------ ----------- -- -------------------------- -- - ------- ----- --------- ------- -------
注意: 对于 tokens.json
中定义的嵌套对象,design-tokenize
将自动为每个对象属性的层次结构创建类名。例如,在上面的配置文件中,使用 .typography-font-size-small
表示字体大小的小号。
功能扩展
为了更好的使用设计令牌这个功能,我们可以将其与 CSS 预处理器结合起来。
在 Sass 中使用
在 Sass 中使用,例如:
------- ---------- -------- - ---------- ------------------- ------- ------ --------------- --------- -
在 Less 中使用
在 Less 中使用,例如:
------- ---------- -------- - ---------- ----------------- ------ --------------- -
结论
使用 design-tokenize
将设计令牌提取出来并作为一个 npm 包使用可以提高设计系统的维护性和可扩展性,避免多个项目中重复编写相同的样式表。同时,我们还可以将其与 CSS 预处理器结合起来,从而更好的使用设计令牌这一功能。在日常的前端开发中,设计令牌也可以作为 UI 设计规范,从而更好地提高前后端配合的效率。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600562a781e8991b448dfe74