npm 包 `generate-selectors` 使用教程

前言

作为一个前端开发者,我们在编写 CSS 样式时经常需要选择器,而且选择器越准确,优化的空间就越大,可以减少不必要的代码和样式冲突。但是随着项目的增加,选择器也越来越多,手写选择器逐渐变得麻烦和容易出错。这时候,一个由 npm 包 generate-selectors 来帮忙自动生成选择器的工具就变得尤为重要。

generate-selectors 简介

generate-selectors 是一个自动生成 CSS 选择器的开源 npm 包。它可以根据 HTML 模板和样式文件来生成选择器。

该包基于“单纯 CSS”思想而建,即不需要复杂的依赖库甚至是 JavaScript (JQuery)。

相对于其他的选择器工具,它有以下特点:

  • 纯 CSS,无需 JS
  • 自定义标签名和类名组成,避免不必要的 style 冲突
  • 支持复杂的 HTML 模板结构和样式文件
  • 生成的选择器名朴素易懂,快速定位

使用教程

安装 generate-selectors

npm 安装命令:

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

准备 HTML 和 CSS

在使用 generate-selectors 工具前,你需要先拥有一份完整的 HTML 文件结构和 CSS 样式文件。

在这个例子中,我们将使用如下的 HTML 结构和 CSS 样式:

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

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

编写命令

package.json 中加入代码:

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

其中:

  • -o 表示输出文件,默认输出console
  • --prefix 生成选择器的前缀
  • --tag 生成的选择器节点类型
  • --class 生成的选择器类名

运行命令

在终端中运行以下命令:

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

成功运行后,将在控制台输出以下代码:

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

此时,你的 CSS 文件中就已经存在了自动生成的选择器。

添加选择器

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

你甚至可以自行修改其中的选择器名,然后在 CSS 文件中添加样式,如:

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

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

总结

使用 generate-selectors 工具有以下几个优点:

  • 纯 CSS,无需 JS
  • 避免样式冲突
  • 生成的选择器名更朴素易懂,快速定位

当然,使用过程中也有小坑点,例如:

  • HTML 模板和样式文件必须严格按照约定,否则无法正确生成
  • 自动生成选择器虽然方便了代码减量,但也增加了代码不容易维护,不建议乱搞

参考

generate-selectors

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005607b81e8991b448deadc


猜你喜欢

  • npm 包 citypantry-ng2-date-picker 使用教程

    概述 citypantry-ng2-date-picker 是一个 Angular2+ 的日期选择器组件,支持自定义样式和日期格式。 本篇文章将介绍如何使用这个组件,并提供示例代码及详细说明。

    3 年前
  • npm 包 reducer-strategies 使用教程

    在前端开发的过程中,我们常常需要使用到状态管理,Redux 就是一种常用的状态管理框架。而 Redux 中的一个重要概念就是 reducer,用于描述 state 的变化逻辑,它是一个纯函数,接收当前...

    3 年前
  • npm 包 @cybernaut/mocks 使用教程

    什么是 @cybernaut/mocks @cybernaut/mocks 是一款前端开发辅助工具,可以生成模拟数据,帮助我们快速构建出前端效果。它可以帮助我们轻松创建 mock 数据,大大提高了前端...

    3 年前
  • npm 包 slush-polypack 使用教程

    前言 在前端开发中,我们经常需要使用到一些打包工具来进行项目的构建和编译。slush-polypack 就是一个基于 gulp 和 webpack 的前端工程化构建工具,可以快速创建一个现代化、可扩展...

    3 年前
  • npm 包 @cybernaut/types 使用教程

    在前端开发过程中,数据类型的定义和使用是极其重要的。因此,我们需要使用合适的数据类型管理工具来帮助我们更好的管理数据。@cybernaut/types 就是一款非常优秀的 npm 包,它能够帮助我们简...

    3 年前
  • npm 包 drips 使用教程

    介绍 drips 是一个基于 Node.js 的 npm 包,可以用于在前端项目中生成流动效果。通过 drips,可以快速简便地生成流动效果,并且支持对效果进行多种自定义配置。

    3 年前
  • npm 包 wasabi-js 使用教程

    在前端开发中,我们经常会用到各种不同的工具和库。其中,npm 是一个非常流行的包管理器,可以帮助我们快速安装和使用各种包。而 wasabi-js 就是一个非常强大的 npm 包,可以帮助我们轻松地实现...

    3 年前
  • npm 包 @cybernaut/engine 使用教程

    前言 @cybernaut/engine 是一款基于 Three.js 的 3D 引擎,它旨在提供一种方便、快速、可靠的方式来构建 3D 应用程序。作为一个前端工程师,要想学好 Three.js,首先...

    3 年前
  • npm 包 codeceptjs-tempmail 使用教程

    在前端的自动化测试过程中,很多情况下我们需要进行邮件的验证,例如注册流程中需要填写邮箱,验证邮箱的有效性等等。在这种情况下,我们需要一个临时邮箱地址,这样可以在测试过程中避免真实的邮箱地址暴露以及数据...

    3 年前
  • npm 包 grunt-prettier-eslint 使用教程

    前言 在前端开发中,我们经常需要处理代码风格和格式的问题。这些问题涉及到缩进、换行、空格、注释等方面,在未统一处理的情况下代码难以进行维护和分享。为了解决这一问题,我们可以使用一些辅助工具来规范代码风...

    3 年前
  • npm 包 hypermedia-transitions 使用教程

    前言 最近,我们的前端团队在开发一个基于 hypermedia 的应用,为了简化代码的复杂度,我们使用了 npm 包 hypermedia-transitions,使得我们的代码结构更为清晰易懂。

    3 年前
  • npm 包 myob-newman-reporter-teamcity 使用教程

    在前端开发中,接口测试是重要的一环。而在接口测试过程中 Newman 是一个非常好用的工具,可以帮助我们完成多个接口测试,并将测试结果输出为多种格式的报告。而 myob-newman-reporter...

    3 年前
  • npm 包 @cybernaut/utils 使用教程

    介绍 @cybernaut/utils 是一个实用性强的前端工具库,其中包含了一些常用的工具函数,如类型判断、对象操作、字符串处理、数组操作等。该工具库支持在 Node.js 和浏览器环境下使用,使用...

    3 年前
  • npm 包 add-npm-scripts 使用教程

    简介 npm 包 add-npm-scripts 是一款非常方便的 npm 包,它可以帮助我们非常简单地把一些常用的 npm scripts 添加到我们的 package.json 文件中。

    3 年前
  • npm 包 react-data-grid-hocs 使用教程

    简介 在React前端开发中,我们常常需要使用到数据表格来展示数据,react-data-grid-hocs就是一个优秀的npm包,提供轻松的数据表格组件和插件化功能,用于开发自定义的数据表格。

    3 年前
  • npm 包 @mideanet/react-grid-layout 使用教程

    在前端开发中,常常需要使用到网格布局,以便于页面的排版和组件的布局。@mideanet/react-grid-layout 是一个常用的 React 组件库,以下是它的使用教程。

    3 年前
  • npm 包 cubic-roots 使用教程

    介绍 cubic-roots 是一个在 JavaScript 中求解三次方程根的 npm 包。它可以用于许多前端项目中,尤其是需要求解三次方程根的科学计算。 安装 使用 npm 进行安装: --- -...

    3 年前
  • [前端]npm 包 ruskjs 使用教程

    #[前端]npm 包 ruskjs 使用教程 ##介绍 Ruskjs是一个基于React的自动化表单输入组件库。它能够智能地根据数据结构和设置自动生成表单、验证器和提示信息。

    3 年前
  • npm 包 bittrex.api 使用教程

    简介 bittrex.api 是针对 bittrex 交易所所开发的一款 Node.js 的 npm 包。它提供了一组简单的接口,可以轻松地对指定的 bittrex 市场进行交易,查询和管理操作。

    3 年前
  • npm 包 elasticsearch-informix-tool 使用教程

    简介 elasticsearch-informix-tool 是基于 Node.js 开发的一个 npm 包,主要用于方便地将 Informix 数据库中的数据导入到 Elasticsearch 中进...

    3 年前

相关推荐

    暂无文章