npm 包 @fesk/bem-js 使用教程

BEM(Block Element Modifier)是一种前端开发中常用的命名方式,它可以让我们更好地组织 HTML 和 CSS,提高代码可维护性和复用性。在 BEM 中,每一个 DOM 元素都可以被当作一个“块”(Block),块里包含多个“元素”(Element),元素可以被分成多个“修饰符”(Modifier)。使用 BEM 命名方式可以让我们清晰地表示出元素之间的层级关系和样式特征,并且方便多人协同开发。

但是在实际工作中,我们经常会遇到需要频繁手动拼接 BEM 类名的情况,这不仅容易出错,还会浪费时间。为了提高开发效率,社区中出现了许多自动化生成 BEM 类名的 npm 包。其中,@fesk/bem-js 是一个比较常用的 npm 包,下面将介绍它的使用教程。

安装

在终端中使用 npm 安装 @fesk/bem-js 即可:

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

使用

使用 @fesk/bem-js 的过程分为两步:首先需要创建一个 BEM 命名环境(Block),然后使用该环境中提供的 API 来生成对应的 BEM 类名。

创建 Block

在使用 @fesk/bem-js 之前,我们需要先创建一个 BEM 命名环境。在 @fesk/bem-js 中,可以使用 BEM.createBlock 方法来创建一个 Block,示例如下:

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

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

其中,'my-block' 是该 Block 的名字。创建完成之后,我们可以使用 block.getElementblock.getModifier 方法来分别创建 Element 和 Modifier。

创建 Element

在一个 Block 中,每一个 DOM 元素都可以被当做一个 Element。在 @fesk/bem-js 中,我们可以使用 block.getElement 方法来创建一个 Element,示例如下:

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

其中,'my-element' 是该 Element 的名字。创建完成之后,我们可以使用它提供的 API 来生成对应的 BEM 类名。

创建 Modifier

在 BEM 中,一个 Modifier 可以用来添加或者修改元素的一些样式特征。在 @fesk/bem-js 中,我们可以使用 block.getModifier 方法来创建一个 Modifier,示例如下:

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

其中,'big' 是该 Modifier 的名字。创建完成之后,我们可以使用它提供的 API 来生成对应的 BEM 类名。如果需要在 Modifier 的值中使用变量,则可以在 BEM 类名中使用占位符 {}。示例如下:

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

最终结果

使用 @fesk/bem-js 之后,我们的代码可以更加清晰易懂,示例如下:

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

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

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

总结

通过本文的介绍,我们了解了如何使用 @fesk/bem-js 来自动生成 BEM 类名,提高前端开发的效率。使用该 npm 包可以让我们更加专注于业务逻辑的实现,避免手动拼接类名带来的错误和时间浪费。同时,这种使用方式也符合 BEM 命名方式的规范,使得我们可以更好地组织 HTML 和 CSS,提高代码可维护性和复用性。

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


猜你喜欢

  • npm包@types/lodash.omit的使用教程

    简介 在前端开发中,我们经常会用到 JavaScript 的第三方库 lodash 来简化数据处理、数组操作等 JavaScript 基础语言操作。而 lodash.omit 是 lodash 库中的...

    4 年前
  • npm包@redux-saga/testing-utils使用教程

    前言 在Redux框架下,Redux-Saga是一个基于生成器的Redux中间件,用于管理和协调副作用,例如AJAX请求、定时器、动画等。但是,在编写Saga时,我们需要保证它们在各种情况下正常工作,...

    4 年前
  • npm 包 @types/node-polyglot 使用教程

    Node-polyglot 是一个开源的 JavaScript 库,用于实现多语言翻译。通过该库,我们可以轻松的实现对程序的国际化和本地化处理。针对node-polyglot库的类型声明,为我们的Ty...

    4 年前
  • npm 包 ra-core 使用教程

    简介 ra-core 是一个让开发 React 应用更加轻松的 npm 包,用于管理 React 应用中的数据和 UI 状态。它提供了一整套用于增删改查操作的组件和工具,可在不必写大量代码的情况下,轻...

    4 年前
  • npm 包 ra-i18n-polyglot 使用教程

    前言 在随着互联网发展的流行,多语言已经成为了吸引海内外用户的核心竞争力。为了支持多语言,前端开发从最初的硬编码双语版本到后来的i18n国际化方案,再到最近流行的多语言React应用程序,前端国际化工...

    4 年前
  • npm 包 ra-language-english 使用教程

    简介 ra-language-english 是 React Admin 的语言包之一,提供了英文的翻译和本地化支持。React Admin 是一个适用于企业级后台管理系统的开源框架,其内部使用了很多...

    4 年前
  • npm 包 ra-ui-materialui 使用教程

    介绍 ra-ui-materialui 是一个基于 Material-UI 的 React 管理界面库。它提供了一系列 UI 组件和布局,可以帮助开发人员更快速地构建高质量的管理界面。

    4 年前
  • npm 包 react-final-form 使用教程

    前言 在现代的前端开发中,表单是不可避免的一环。对于表单的验证、数据绑定、数据提交等操作,我们需要使用各种工具来实现。其中,react-final-form 作为一个强大的表单库,为我们提供了一些很好...

    4 年前
  • npm 包 react-final-form-arrays 使用教程

    React-final-form-arrays 是一个你在 React 项目中用来处理表单的 npm 包,它可以帮助你轻松地处理表单中的数组内容。 安装和配置 使用 npm 包管理器可以轻松地安装 r...

    4 年前
  • 使用 better-queue-store-test 进行任务队列管理

    better-queue-store-test 是一个 npm 包,可以轻松地实现任务队列管理。本文将详细介绍如何安装和使用该包,并提供示例代码和实用指南。 安装 better-queue-store...

    4 年前
  • npm 包 better-queue-memory 使用教程

    better-queue-memory 是一个基于内存的 Node.js 任务队列管理库,它具有高性能和可靠性,可以使您的应用程序更具扩展性。本文将带您深入了解如何使用 better-queue-me...

    4 年前
  • npm 包 get-src 使用教程

    什么是 get-src 包 get-src 是 npm 上的一个前端类的工具包,它为开发者提供了一种简单的方法来获取任何 HTML 元素的源代码。 这个工具包可以在前端的开发中很方便地使用,无需编写繁...

    4 年前
  • npm 包 get-video-id 使用教程

    在现代的 Web 开发中,通过加载视频内容让网站更具生命力已经成为了一种标配。然而,对于开发人员来说,获取视频的相关元数据(如视频 ID、源网站、标题等)来管理视频资源并进行更好的展示,依旧是一个具有...

    4 年前
  • npm 包 node-eta 使用教程

    在前端开发中,时间往往是一个非常重要且关键的概念。Node.js 中有一个非常好用的 npm 包,叫做 node-eta,它可以轻松地处理时间和日期的计算。本文将介绍 node-eta 的使用教程,包...

    4 年前
  • npm 包 inspectdep 使用教程

    npm 是前端开发必不可少的工具,它提供了丰富的第三方模块可以用于快速开发项目,但是也会带来一些问题,如版本冲突和包依赖关系不明确等。为了帮助解决这些问题,我们可以使用一个名为 inspectdep ...

    4 年前
  • npm 包 shelljs.exec 使用教程

    什么是 npm 包 shelljs.exec npm 包 shelljs.exec 是一个 Node.js 的增强 shell,提供了简洁、可读性强的 API 用来执行 shell 命令。

    4 年前
  • npm 包 git-commit-file 使用教程

    在日常的前端开发中,我们经常需要在项目中使用 git 进行版本控制。在使用 git 进行开发时,我们经常需要提交代码并记录提交日志,以便后续追踪和管理。git 提供了命令行工具来进行提交和管理,在命令...

    4 年前
  • npm 包 replace-last 使用教程

    前言 在前端开发中,一些字符串的处理常常会遇到一些棘手的问题。比如,我们希望将一个长字符串中的最后一个匹配项替换成新的字符串,该怎么办呢?这时,replace-last 包就变得非常有用了。

    4 年前
  • npm包trace-deps使用教程

    如果你正在开发JavaScript应用程序,那么你一定经常需要安装和使用npm包。npm包是JavaScript社区分享代码、工具和依赖项的主要方式之一。随着应用程序变得越来越复杂,你可能需要在你的代...

    4 年前
  • npm包@types/punycode使用教程

    前言 在前端开发中,我们常常需要解析、转换域名,这时候就需要用到punycode这个库。punycode是一个在URL中解析国际化域名的JavaScript库,但是它没有提供类型定义。

    4 年前

相关推荐

    暂无文章