npm 包 stylelint-selector-bem-pattern 使用教程

在前端开发中,CSS 是不可避免的一部分。尽管 CSS 带来了很多便捷和美观的效果,但是 CSS 中常常出现的选择器的嵌套和滥用,让整个 CSS 文件的维护变得十分困难。这也正是出现了 BEM 命名规范的原因。而在使用 BEM 规范的同时,stylelint-selector-bem-pattern 是一个可以帮助我们检测 BEM 命名规范是否符合我们要求的 npm 包。

stylelint-selector-bem-pattern 是什么?

stylelint-selector-bem-pattern 是一个 stylelint 的插件,在使用 BEM 命名规范的项目中,以一种可扩展的方式编写过滤器(filers),使用正则表达式匹配命名模式。 这样,我们就可以检测 CSS 是否正确使用 BEM 命名规范。

如何使用 stylelint-selector-bem-pattern?

安装

首先,我们需要安装 stylelint-selector-bem-pattern。在命令行中,执行下面的命令:

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

或者,如果你使用的是 yarn:

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

配置

接下来,我们需要在 stylelint 的配置文件中添加我们的插件和规则配置。如果你还没有使用 stylelint,你需要 npm installyarn add stylelint 以及配置文件。

stylelint 的配置文件中,添加以下代码:

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

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

在这个配置中,我们添加了一个名为 plugin/selector-bem-pattern 的规则,并使用 preset 属性指定了预设,这里选择了 "bem"。接下来,我们为 componentName 属性设置了一个值,这个值是我们的组件名称。对于 componentSelectors 属性,我们设置了两个可选属性 initialcombined。这是因为 BEM 命名规范有两种写法,"initial" 用于标记第一种写法,"combined" 则用于标记第二种写法。

在上面的配置中,我们使用正则表达式指定了两种写法的匹配规则。

使用

完成了配置之后,我们就可以在我们的代码中使用了。

以下是一个使用了 BEM 规范的 CSS 代码:

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

我们可以看到,在上述代码中,使用了 "initial" 的 BEM 命名法规,即使用了 "__" 和 "--" 来标记子元素和修饰符。

假设我们在这里写了一些不符合 BEM 命名规范的名称,那么 stylelint-selector-bem-pattern 将会自动在控制台输出警告信息。

总结

通过使用 stylelint-selector-bem-pattern,我们可以有效地帮助我们检测 CSS 是否符合 BEM 命名规范。使用正则表达式匹配模式,并且提供了两种类型的解决方案,大大简化了我们的代码检测过程,提高了代码的可读性和可维护性。

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


猜你喜欢

  • npm 包 adana-format-istanbul 使用教程

    在前端开发中,测试是不可或缺的环节。测试的结果需要以统计报告的形式进行呈现,帮助开发者更好地了解代码质量和测试结果。在这个过程中,adana-format-istanbul 这个 npm 包是一个非常...

    5 年前
  • npm 包 babel-plugin-transform-adana 使用教程

    前言 在我们进行前端开发时,经常需要对项目代码进行调试和测试。而为了更好的完成这项工作,在使用 babel 进行编译之后,我们需要使用 adana 这个代码覆盖率工具来监测我们的项目代码,从而对代码的...

    5 年前
  • npm 包 adana-analyze 使用教程

    简介 在前端开发中,我们经常需要重构代码以达到更好的可读性、可维护性、可扩展性。然而,如何评估我们的代码是否真正做到了这些目标呢?一种方法是使用代码覆盖率工具,比如 adana,它可以帮助我们统计代码...

    5 年前
  • NPM 包 Adana-Dump 使用教程

    引言 在前端开发中,代码质量是非常关键的一环。如果代码质量不佳,会导致代码难以维护、出现 bug 的概率增大等问题。为了保证前端代码的质量,我们需要使用一些工具来分析和优化代码。

    5 年前
  • npm 包 eslint-plugin-lodash-fp 使用教程

    eslint-plugin-lodash-fp 是一个 Eslint 插件,主要用于辅助开发人员使用 Lodash 函数风格,以帮助我们提高代码的质量和可维护性。 本文将为您详细介绍如何使用 esli...

    5 年前
  • npm 包 babel-preset-metalab 使用教程

    介绍 babel-preset-metalab 是由 Metalab 开源的一个 babel 预设,主要针对的是 React 和 ES6 开发。使用该预设可以将 ES6 代码转换成 ES5 的兼容代码...

    5 年前
  • npm 包 css-split-webpack-plugin 使用教程

    介绍 在项目开发中,我们经常会遇到 CSS 文件过大的问题,这不仅会影响页面加载速度,也会浪费用户的流量。为了解决这个问题,我们可以使用 css-split-webpack-plugin 这个 npm...

    5 年前
  • npm 包 electrode-gulp-helper 使用教程

    简介 electrode-gulp-helper 是一个提高前端工程化效率的 npm 包,它可以帮助我们生成 gulp 任务、构建前端项目等。使用 electrode-gulp-helper,我们可以...

    5 年前
  • npm 包 gulp-envify 使用教程

    在前端开发过程中,我们经常会遇到需要对代码进行一些环境变量配置的情况,例如:开发环境和生产环境的 API 地址不同等。这时候,我们可以使用 gulp-envify,在构建过程中动态地修改 JavaSc...

    5 年前
  • npm 包 kununu-webpack-config-composer 使用教程

    简介 kununu-webpack-config-composer 是一个基于 webpack 的 npm 包,用于帮助前端开发者更加轻松地组合和管理多个 webpack 配置文件,以达到优化打包的效...

    5 年前
  • npm 包 kununu-electrode-react-webapp 使用教程

    kununu-electrode-react-webapp 是一个前端应用程序的轻量级框架,它建立在 Electrode 和 React.js 的基础上,提供了一整套开发工具和组件,使得开发者可以更加...

    5 年前
  • npm 包 electrode-docgen 使用教程

    简介 electrode-docgen 是一个用于生成 React 组件文档的工具。它支持基于 JSDoc 注释自动生成文档,并且支持自定义模板渲染文档。本篇文章将对 electrode-docgen...

    5 年前
  • npm 包 electrode-check-dependencies 使用教程

    在前端开发中,我们经常会使用许多第三方库来提高开发效率和提供更好的功能。但是,这些库之间的依赖关系往往比较复杂,如果不加以管理,就容易出现版本冲突、安全漏洞等问题。

    5 年前
  • npm包 electrode-archetype-react-component-dev使用教程

    在前端开发中,我们常常会使用各种npm包来简化我们的开发流程。其中,electrode-archetype-react-component-dev是一个基于React的开发工具,可以帮助我们在开发Re...

    5 年前
  • npm 包 electrode-archetype-react-component 使用教程

    npm 是前端开发中不可或缺的工具,它提供了极大的便利和效率。而 electrode-archetype-react-component 作为一款常用的 npm 包,在开发 React 组件中也有着重...

    5 年前
  • npm 包 jest-serializer-enzyme 使用教程

    1. 前言 在前端开发中,单元测试是非常重要的一环。而在前端单元测试中,Jest 是非常流行的测试工具。本文将向大家介绍一款 Jest 插件 -- jest-serializer-enzyme,该插件...

    5 年前
  • npm 包 kununu-electrode-archetype-react-app 使用教程

    简介 kununu-electrode-archetype-react-app 是一个基于 Electrode 的脚手架工具,用于快速创建 React 应用的基础框架。

    5 年前
  • 使用 kununu-electrode-archetype-react-app-dev npm 包搭建 React 应用

    kununu-electrode-archetype-react-app-dev 是一个用来快速搭建 React 应用的 npm 包。它基于 Electrode Archetype 平台,包含了 Re...

    5 年前
  • npm 包 metric-lcs 使用教程

    在前端的开发中,常常需要处理字符串相关的问题,比如字符串的匹配、比较等。metric-lcs 是一种用于计算两个字符串的最长公共子序列的 npm 包,可以方便地处理字符串相关的问题。

    5 年前
  • npm 包 eslint-plugin-notice 使用教程

    介绍 在前端开发过程中,我们经常需要使用 eslint 对项目代码进行检测和规范。但是有些时候,我们还需要在代码中添加一些版权信息或者警示信息,这时候就需要使用 eslint-plugin-notic...

    5 年前

相关推荐

    暂无文章