简介
你是否曾经在开发过程中发现自己写的代码有些地方不太优美甚至有些重复,甚至满篇的魔法数字和魔法字符串,难以维护和更新?那么 crystalgazer 就是你必备的 npm 包!
crystalgazer 是一款快速开发高质量 React 组件的工具,能够帮助你根据特定设计规范快速、高效地生成样式类,让你的 CSS 设计变得更加优雅、高效,同时能够极大的提高你的开发效率。在开启 crystalgazer 的侦测模式后,你只需要编写 React 组件,无需写一行 CSS,工具会自动为你根据你的组件生成样式类。
下面我们将详细介绍 crystalgazer 的安装、使用以及指导意义。
安装
在开始使用之前,需要先安装 crystalgazer。在终端使用以下命令进行全局安装:
npm install -g crystalgazer
使用
配置
安装完成后,我们需要根据自己的需要进行配置。首先,在你的项目中创建一个 .crystalgazerrc
文件,并按照以下格式进行配置:
-- -------------------- ---- ------- - ------------- --------------------------- --------- ------------------------ --------- ---------------------------------------- --------- --------------------- --------------------- -------- - ---- --------- ---- --------- - -展开代码
以下是各项配置的含义:
baseStyles
:指定一份基础样式表,会被自动加载,用于定义全局样式。target
:指定生成的样式表文件路径,若没有配置则默认生成在./src/styles
中。detect
:指定需要进行样式探测的文件或者目录。ignore
:指定需要排除掉的文件或者目录,可以使用 glob 模式。rules
:可以自定义缩写和样式实际属性名之间的映射,例如上面的m
和p
缩写对应了margin
和padding
的样式属性。
开始使用
在完成配置后,我们更新一个有样式的 React 组件,例如 App.js
,然后在终端使用以下命令进行侦测:
crystalgazer watch
在你更改 App.js
的样式组件时,工具会自动根据你的组件生成样式类。如果你的样式定义出现了问题,工具会在终端输出错误信息,帮助你快速排查问题。
生成样式类之后,我们可以在我们的组件中直接使用样式类,例如在 App.js
中使用样式类 App-nav
如下:
-- -------------------- ---- ------- ------ ----- ---- -------- ------ ------------ -- --------- ------------ ---- -------- ----- - ------ - ---- ---------------- ------- ----------------------- ---- -------------------- --- --------- ------- --- --- ---- ---- -- -------------------- -------------------------- --------------- ------------- ----------- - ----- ----- ---- ----- ----- ------ --------- ------ -- - ------ ------- ----展开代码
示例代码
以下是一个示例代码,你可以尝试将其拷贝到本地,并试试在编辑代码时 crystalgazer 自动生成的样式类:
-- -------------------- ---- ------- ------ ----- ---- -------- ------ ------------ -------- ----- - ------ - ---- ---------------- ------- ----------------------- ---- -------------------- ---- ---- -- -------------------- -------------------------- --------------- ------------- ----------- - ----- ----- ---- ----- ----- ------ --------- ------ -- - ------ ------- ----展开代码
指导意义
使用 crystalgazer 不仅可以让你的 CSS 设计变得更加优雅、高效,而且还能极大地提高你的开发效率 ---- 这一点尤其重要。在快速迭代的今天,开发人员需要以最短的时间内快速迭代出高质量的产品,而 crystalgazer 的出现就是为了满足这一需求。使用 crystalgazer ,我们完全可以把编写样式的时间用来思考产品的设计,更高效地完成开发工作,并拿到更好的开发体验。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562dc81e8991b448e049e