在前端开发中,设计系统(Design System)常常是必不可少的。设计系统可以提高团队的协作效率,同时也能让产品在视觉和用户体验上保持一致性。而在设计系统的构建过程中,设计变量(Design Tokens)则扮演了重要的角色。
其中,使用 npm
包 gatsby-design-tokens
可以快速生成并管理设计变量。在接下来的内容中,我们将详细介绍如何使用 gatsby-design-tokens
。
安装
在 gatsby
项目中使用 gatsby-design-tokens
需要安装 gatsby-plugin-design-tokens
和 gatsby-theme-styleguide
两个包。可以使用以下命令进行安装:
--- ------- --------------------------- -----------------------
使用
配置 gatsby-plugin-design-tokens
在项目根目录下的 gatsby-config.js
文件中,新增以下内容:
-------------- - - -------- - - -------- ------------------------------ -------- - ------- ------------------ ------- ----------------- -------- -------- ------- -------- -- -- -- -
source
:设计变量源文件.json
存放的路径。output
:输出的.js
文件路径。在后面的例子中,它们在src
目录内的theme.js
文件中输出。formats
:输出的格式,支持flat
、json
和scss
。在这里,我们选择输出以上 3 种格式。
在上述配置中,我们需要在项目根目录中新建 design-tokens
文件夹用于存放设计变量源文件。
编写设计变量源文件
例如,我们需要管理颜色变量。可以新建一个 colors.json
文件,内容如下:
- ---------- - - ------- -------------- -------- --------- -- - ------- ------------- -------- --------- - -- ------------ - - ------- -------------- -------- --------- -- - ------- ------------- -------- --------- - - -
以此类推,可以在 design-tokens
文件夹中创建多个 .json
文件作为不同的设计变量。例如 typography.json
用于管理字体相关变量,spacing.json
用于管理间距相关变量等。
在以上示例中,我们将 primary
和 secondary
两个颜色变量定义为数组,每个数组项包括了 name
和 value
两个字段,对应了变量名和变量值。
导入和使用设计变量
当配置和设计变量源文件都已准备完成后,我们就可以在项目的其他地方引入并使用设计变量了。在我们的示例中,将这些设计变量作为 theme.js
中输出的一个对象来使用。
在 gatsby-browser.js
或 gatsby-ssr.js
中导入 theme.js
:
------ ----- ---- ------- ------ - ------------- - ---- ------------------- ------ ----- ---- ------------- ------ ----- --------------- - -- ------- -- -- - -------------- --------------------------------------- -
在组件中使用设计变量:
------ ------ ---- ------------------- ----- ------ - -------------- ------ ------- -- -------------------------------- ----------------- ------- -- ---------------------------------- - ------ ------- ------
以上示例中,我们导入了 theme.js
,并将其作为 ThemeProvider
的 theme
属性的值。这样,在组件中,我们就可以通过 props
来访问对应的设计变量。
示例代码
下面是使用 gatsby-design-tokens
创建的一个基于 styled-components
的按钮样式。
-- ------------------------- - ---------- - - ------- -------------- -------- --------- -- - ------- ------------- -------- --------- - -- ------------ - - ------- -------------- -------- --------- -- - ------- ------------- -------- --------- - - - -- ------------ ------ ------- - -------- - ----------- ---------- ---------- ---------- -- ---------- - ----------- ---------- ---------- ---------- -- -- -- --------- ------ ------ ---- ------------------- ----- ------ - -------------- -------- ------- -- ---------------------------- ------ ------- -- -------------------------------- ----------------- ------- -- ---------------------------------- ------- - ----------------- ------- -- -------------------------------- ------ ------- -- ---------------------------------- - - ------ ------- ------
指导意义
使用设计变量可更好地组织和管理设计系统,减少代码的重复和维护成本。通过 npm
包 gatsby-design-tokens
,可以更加方便地添加、更新和应用设计变量,让设计系统的维护变得更加容易。
总的来说,使用 gatsby-design-tokens
有以下几个优点:
- 能够统一管理设计变量,减少代码的重复和维护成本。
- 配置简单,使用方便,让前端开发人员能够更快地拥有设计系统。
- 支持多种格式的输出,使得设计变量可以方便的应用到不同的开发场景。
- 结合
styled-components
更好地实现了设计系统与组件的结合。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f2bcec93b0ab45f74a8bb6c