npm 包@umijs/babel-plugin-auto-css-modules 使用教程

阅读时长 4 分钟读完

摘要

本文将介绍 npm 包 @umijs/babel-plugin-auto-css-modules,这是一个在 UmiJS 框架中使用的插件,可以自动为 css 文件生成相应的 module,同时使项目更易于维护。

简介

UmiJS 是一个可插拔的企业级前端应用框架,它基于路由约定、插件机制和 webpack 打包,可以轻松构建复杂的单页和多页应用。而 @umijs/babel-plugin-auto-css-modules 是这个框架中的一个插件,它能够自动化处理 CSS Modules。

CSS Modules 是一种 CSS 的模块化方案,它使得 CSS 文件可以被当做模块来使用,避免全局污染,增加代码复用性。在使用 CSS Modules 的时候,每一个 CSS class 都是独立的,只在 local scope 中有效,所以不会产生样式冲突的问题。

安装

使用 npm 或者 yarn 安装@umijs/babel-plugin-auto-css-modules:

配置

在项目的 .umirc.js 或者 config/config.js 中添加配置:

这个插件会将以下类型的文件自动转换成 CSS Modules:

  • 以 .module.css 结尾的文件
  • 在 import 语句中带有 .module.css 的文件

例如:

会被转换成:

使用

在项目中使用 CSS Modules 和普通的 CSS 没有太大的区别,只需要在类名前面加上样式名称即可。例如:

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

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

在 JavaScript 文件中使用这个 CSS:

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

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

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

这样,在编译后就会生成相应的 module。

示例代码

下面是一个完整的示例代码:

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

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

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

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

总结

使用@umijs/babel-plugin-auto-css-modules 可以帮助我们更加方便快捷地使用 CSS Modules,从而减少全局样式的污染,提高代码的可维护性。同时,这个插件的安装和配置相对简单,在 UmiJS 中默认就已经加入,更加方便了我们的项目开发。

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

纠错
反馈