npm 包 gatsby-design-tokens 使用教程

阅读时长 6 分钟读完

在前端开发中,设计系统(Design System)常常是必不可少的。设计系统可以提高团队的协作效率,同时也能让产品在视觉和用户体验上保持一致性。而在设计系统的构建过程中,设计变量(Design Tokens)则扮演了重要的角色。

其中,使用 npmgatsby-design-tokens 可以快速生成并管理设计变量。在接下来的内容中,我们将详细介绍如何使用 gatsby-design-tokens

安装

gatsby 项目中使用 gatsby-design-tokens 需要安装 gatsby-plugin-design-tokensgatsby-theme-styleguide 两个包。可以使用以下命令进行安装:

使用

配置 gatsby-plugin-design-tokens

在项目根目录下的 gatsby-config.js 文件中,新增以下内容:

-- -------------------- ---- -------
-------------- - -
  -------- -
    -
      -------- ------------------------------
      -------- -
        ------- ------------------
        ------- -----------------
        -------- -------- ------- --------
      --
    --
  --
-
  • source:设计变量源文件 .json 存放的路径。
  • output:输出的 .js 文件路径。在后面的例子中,它们在 src 目录内的 theme.js 文件中输出。
  • formats:输出的格式,支持 flatjsonscss。在这里,我们选择输出以上 3 种格式。

在上述配置中,我们需要在项目根目录中新建 design-tokens 文件夹用于存放设计变量源文件。

编写设计变量源文件

例如,我们需要管理颜色变量。可以新建一个 colors.json 文件,内容如下:

-- -------------------- ---- -------
-
  ---------- -
    -
      ------- --------------
      -------- ---------
    --
    -
      ------- -------------
      -------- ---------
    -
  --
  ------------ -
    -
      ------- --------------
      -------- ---------
    --
    -
      ------- -------------
      -------- ---------
    -
  -
-

以此类推,可以在 design-tokens 文件夹中创建多个 .json 文件作为不同的设计变量。例如 typography.json 用于管理字体相关变量,spacing.json 用于管理间距相关变量等。

在以上示例中,我们将 primarysecondary 两个颜色变量定义为数组,每个数组项包括了 namevalue 两个字段,对应了变量名和变量值。

导入和使用设计变量

当配置和设计变量源文件都已准备完成后,我们就可以在项目的其他地方引入并使用设计变量了。在我们的示例中,将这些设计变量作为 theme.js 中输出的一个对象来使用。

gatsby-browser.jsgatsby-ssr.js 中导入 theme.js

在组件中使用设计变量:

以上示例中,我们导入了 theme.js,并将其作为 ThemeProvidertheme 属性的值。这样,在组件中,我们就可以通过 props 来访问对应的设计变量。

示例代码

下面是使用 gatsby-design-tokens 创建的一个基于 styled-components 的按钮样式。

-- -------------------- ---- -------
-- -------------------------
-
  ---------- -
    -
      ------- --------------
      -------- ---------
    --
    -
      ------- -------------
      -------- ---------
    -
  --
  ------------ -
    -
      ------- --------------
      -------- ---------
    --
    -
      ------- -------------
      -------- ---------
    -
  -
-

-- ------------
------ ------- -
  -------- -
    ----------- ----------
    ---------- ----------
  --
  ---------- -
    ----------- ----------
    ---------- ----------
  --
--

-- ---------
------ ------ ---- -------------------

----- ------ - --------------
  -------- ------- -- ----------------------------
  ------ ------- -- --------------------------------
  ----------------- ------- -- ----------------------------------

  ------- -
    ----------------- ------- -- --------------------------------
    ------ ------- -- ----------------------------------
  -
-

------ ------- ------

指导意义

使用设计变量可更好地组织和管理设计系统,减少代码的重复和维护成本。通过 npmgatsby-design-tokens,可以更加方便地添加、更新和应用设计变量,让设计系统的维护变得更加容易。

总的来说,使用 gatsby-design-tokens 有以下几个优点:

  • 能够统一管理设计变量,减少代码的重复和维护成本。
  • 配置简单,使用方便,让前端开发人员能够更快地拥有设计系统。
  • 支持多种格式的输出,使得设计变量可以方便的应用到不同的开发场景。
  • 结合 styled-components 更好地实现了设计系统与组件的结合。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f2bcec93b0ab45f74a8bb6c

纠错
反馈