npm 包 gulp-bem-css 使用教程

阅读时长 4 分钟读完

前端开发中,构建工具是必不可少的一环。Gulp 作为其中一个流程构建工具,在前端工程化中扮演了重要角色。为了更方便地实现BEM模式的CSS样式编写,在Gulp中出现了gulp-bem-css这一npm包。本文将详细介绍gulp-bem-css的使用方法及注意事项。

安装 gulp-bem-css

在使用 gulp-bem-css 之前,需要先安装 Gulp 以及 Node.js。具体安装方法可参考 官网。安装完成后,在项目目录中通过以下命令安装gulp-bem-css:

使用 gulp-bem-css

使用gulp-bem-css首先需要在css文件中使用BEM命名方式来编写样式。这里假设已经了解了BEM的基础知识。

gulp-bem-css支持的文件和目录结构如下:

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

其中,以下划线( _ )开头的class属于modifier,相当于class的另一状态;以双下划线( __ )开头的属于element,表示该class为某个block的子元素。具体写法可以参照BEM的官方文档。

在gulpfile.js中配置gulp任务:

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

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

其中通过bem()函数传入配置项,详细说明如下:

  • elementDelimiter:指定element的命名规则, 默认是'__'
  • modifierDelimiter:指定modifier的命名规则, 默认是'--'
  • outputType: 指定输出的类型,支持两种类型'extended'和'minified',前者输出的CSS样式更加可读性高,后者输出文件体积更小
  • defaultNamespace: 指定BEM命名规则的命名空间,默认是'b'

在运行gulp任务之后,输出的CSS文件如下:

其中,.b-block1 表示的是一个block(块),.b-block1__element 表示的是一个该block的子元素,.b-block2--modifier 表示的是该block的modifier。

使用默认gulp任务

如果不想每次都执行 gulp build-css 这个命令,可以在 gulpfile.js 中配置默认的 gulp 任务。在下面的示例中,默认的任务名字为 default,只需要在 shell 中输入 gulp 即可执行。

结语

通过gulp-bem-css,我们可以更加方便地实现BEM命名方式的CSS样式编写。同时,该库也支持多种配置,可以根据自己的需求进行选择。对于前端开发者而言,掌握Gulp和gulp-bem-css的使用,可以提高工作效率,提供代码复用性和可维护性。

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

纠错
反馈