npm 包 @dmartss/polisher 使用教程

简介

@dmartss/polisher 是一个基于 postcss 的 CSS 处理工具,它可以自动优化 CSS 代码,去除冗余的样式,减小 CSS 文件的大小,提升页面加载速度。它使用了一些高效的算法来进行样式分析和优化,保证了在不影响样式表达的前提下,尽可能减少 CSS 文件大小。

安装

你可以使用 npm 安装 @dmartss/polisher:

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

如何使用

配置 postcss

@dmartss/polisher 是一个 postcss 插件,因此你需要先配置 postcss。如果你已经使用了 postcss,只需要在配置文件中引入 @dmartss/polisher 即可。

如果你还没有使用 postcss,可以参考以下步骤:

  1. 安装 postcss 和 postcss-cli:

    --- ------- ------- ----------- ----------
  2. 在项目根目录创建 postcss.config.js 文件,并配置 @dmartss/polisher 插件:

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

命令行使用

@dmartss/polisher 提供了命令行工具,可以方便地对 CSS 文件进行处理。运行以下命令即可将 input.css 文件压缩为 output.css:

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

作为 postcss 插件使用

你也可以将 @dmartss/polisher 作为 postcss 插件使用。以下是一个 gulpfile.js 的示例,使用 gulp 来处理 CSS 文件:

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

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

以上 gulpfile.js 会将 src 目录下的所有 CSS 文件压缩后输出到 dist 目录中。

配置选项

你可以在配置文件中为 @dmartss/polisher 提供以下选项:

whitelist

类型:Array

默认值:[]

如果你的样式表中有部分规则你不想被优化,可以使用 whitelist 属性来保护它们。例如,如果你的样式表中有以下代码:

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

如果你不希望 @dmartss/polisher 将其转换为:

----

你可以将其添加到 whitelist 中:

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

propertiesToRemove

类型:Array

默认值:[]

@dmartss/polisher 会去除掉一些常见的冗余属性,例如 padding: 0;background: none; 等等。如果你有自定义属性不想被去除,可以使用 propertiesToRemove 属性将其保留。

例如,以下代码中的 user-select 属性不会被去除:

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

removeDuplicateRules

类型:Boolean

默认值:true

当不同选择器中包含了相同的规则时,@dmartss/polisher 会将它们合并为一个规则。你可以通过设置 removeDuplicateRules 来控制此操作的开启或关闭。

例如,以下代码中会将 .foo h1.bar h1 中的相同规则合并:

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

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

removeUnusedAtRules

类型:Boolean

默认值:true

有些样式表中包含了许多没有被使用的 @font-face@keyframes 等等,这些都会增加样式表的体积。@dmartss/polisher 会自动去除这些未使用的 at-rule。

你可以设置 removeUnusedAtRules 来控制此操作的开启或关闭。

例如,以下代码中不会删除未被使用的 @font-face

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

总结

@dmartss/polisher 是一个优秀的 CSS 处理工具,它使用高效的算法帮助你自动优化 CSS 代码,减小文件大小,提升页面加载速度。通过配置选项,你可以轻松地控制它的操作,保证最终样式表的正确性和有效性。如果你正在开发前端项目,@dmartss/polisher 一定是一个不错的选择!

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


猜你喜欢

  • npm 包 reaktion 使用教程

    随着前端开发项目变得越来越庞大且复杂,使用现有的库或框架来简化和加速开发过程变得越来越普遍。npm 是一个非常重要的工具,可以使您安装和使用其他开发者创建的包,以便在您的项目中使用。

    3 年前
  • npm 包 kofix 使用教程

    前言 在前端开发中,我们经常需要处理字符串、数组、对象等类型的数据。而这些数据的格式不一,常常需要进行转换和处理,而且还需要防止一些常见的错误。这时,我们可以使用 kofix 这个 npm 包来帮助我...

    3 年前
  • npm 包 @dylanvann/flow-mono-cli 使用教程

    在前端开发中,随着项目规模的增大,代码的复杂度也会相应提高。为了更好地管理和维护代码,我们需要使用工具来处理我们的代码。其中,Flow 是一个流行的静态类型检查工具,它可以帮助我们在编写 JavaSc...

    3 年前
  • npm包@granite-elements/granite-spinner使用教程

    前言 随着互联网技术的不断发展,前端工程化越来越成为网站开发的必经之路。npm作为前端开发者不可或缺的包管理工具,其生态圈中的第三方包也越来越丰富。@granite-elements/granite-...

    3 年前
  • npm 包 redux-facade 使用教程

    在前端开发中,Redux 是一个非常流行的应用状态管理库。但是,有时候我们需要按照特定的业务规则对 Redux 进行封装,以使其更加易用、简洁,而 redux-facade 就是为了解决这个问题而开发...

    3 年前
  • npm包@ngmikeng/node-console-rateprogressbar使用教程

    介绍 @ngmikeng/node-console-rateprogressbar是一个通过控制台展示进度条的npm包,可以在前端项目中使用。它可以方便地记录和显示代码执行的进度。

    3 年前
  • npm 包 sequelize-templates 的使用教程

    sequelize-templates 是一款基于 Sequelize ORM 构建的 Node.js 后端应用程序的模板生成工具,它可以在创建数据库模型和查询代码时,提供更高效,更便捷的开发体验。

    3 年前
  • npm 包 hello-world-wc 使用教程

    简介 在前端开发中,我们经常使用各种 npm 包来实现一些功能。在这篇文章中,我们将介绍一个名为 hello-world-wc 的 npm 包,它可以帮助我们创建一个类似于 hello world 的...

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

    前言 juggler-js 是一个基于 Puppeteer 的 Node.js 库,提供对浏览器进行控制、自动化测试和 Web 数据提取等功能的支持。本篇文章将介绍 juggler-js 的基本使用方...

    3 年前
  • npm 包 wdio-saucerdc-service 使用教程

    在前端开发过程中,我们经常需要使用各种工具和库来提高我们的开发效率和代码质量。其中,npm 是我们最常用的包管理工具之一,它能够让我们快速地下载和安装各种 JavaScript 包,并且很容易使用。

    3 年前
  • npm 包 import-sorter 使用教程

    前言 在前端开发中,我们编写代码经常会引入第三方库或自己编写的模块,这些模块的引入顺序不好控制,如果不加以整理,就会让我们的代码略显混乱。这时候我们就需要用到一个叫做 import-sorter 的 ...

    3 年前
  • npm 包 regee 使用教程

    在前端开发过程中,我们经常需要对字符串进行一些简单或复杂的操作,如去除空格、截取指定字符、替换匹配的字符串等等。虽然 JavaScript 提供了基本的字符串操作方法,但当我们需要进行更复杂的字符串操...

    3 年前
  • npm 包 sip.js-bv 使用教程

    前言 SIP(Session Initiation Protocol)是一种用于建立和终止实时会话,例如语音和视频通话的协议。在现代 Web 应用程序中,可以通过使用 SIP.js-bv 这个 npm...

    3 年前
  • npm 包 sumologic-logger 使用教程

    在前端开发中,日志是一个很重要的方面。通过日志,我们可以了解应用的运行情况,排查问题,优化性能等。在过去,前端日志主要通过 console.log 或者其他调试工具输出到浏览器控制台。

    3 年前
  • npm包@ticou/hookis使用教程

    随着前端技术的不断发展,我们经常会使用各种各样的类库和框架来简化我们的开发工作。而npm包则成为了一个非常重要的工具和资源,npm上有着数以百万计的包,其中@ticou/hookis则是一个优秀的Re...

    3 年前
  • npm 包 insert-file-content 使用教程

    在前端开发中,我们经常需要将文件内容插入到我们的代码中,例如将某个 HTML 文件的内容插入到 JavaScript 中。此时可以使用 npm 包 insert-file-content 来实现这个功...

    3 年前
  • npm 包 react-window-global-loader 使用教程

    react-window-global-loader 是一个用于 React 应用中按需加载全局 CSS 样式的 npm 包。它可以帮助前端开发者优化网页加载性能,提高用户的体验。

    3 年前
  • npm 包 pon-task-azure 使用教程

    简介 pon-task-azure 是一款基于 Azure 服务的前端构建任务流程工具,它可以帮助我们在前端项目中实现部署、打包等操作。本篇文章将介绍如何使用 pon-task-azure 这一 np...

    3 年前
  • npm 包 @klakpin/digits-calc 使用教程

    简介 @klakpin/digits-calc 是一个基于 JavaScript 的开源计算库,可以用于进行数字的加、减、乘、除、幂运算,并且支持浮点数运算。 本文将详细介绍如何使用此 npm 包来进...

    3 年前
  • npm 包 @marrea/color_cell 使用教程

    简介 在前端开发中,我们经常需要处理各种不同的颜色,例如:调整颜色的亮度、饱和度,反转颜色等等。npm 包 @marrea/color_cell 可以帮助我们轻松处理各种颜色操作,实现自己想要的效果。

    3 年前

相关推荐

    暂无文章