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 包 tru_sqlite 使用教程

    介绍 tru_sqlite 是一个基于 SQLite 的 JavaScript 包,它可以在浏览器和 Node.js 环境中调用 SQLite 数据库。该包使用 promises 和 async/aw...

    3 年前
  • npm 包 vue-cli-plugin-layouts 使用教程

    介绍 vue-cli-plugin-layouts 是一个 Vue CLI 插件,旨在为 Vue.js 应用程序提供多个静态布局。它使用 Vue Router 和 Vuex 实现,并支持自定义布局。

    3 年前
  • npm 包 avataaars 使用教程

    前言 在前端开发中,处理图片和头像是非常常见的需求。而 avataaars 是一个基于 SVG 技术的 npm 包,可以帮助我们生成带有表情、服装和发型的头像。本文将会介绍如何安装和使用 avataa...

    3 年前
  • npm 包 bs-react-bootstrap 使用教程

    在前端开发中,我们常常需要使用一些 UI 组件库来帮助我们快速构建页面。bs-react-bootstrap 是一个基于 Bootstrap 的 React UI 组件库,它提供了一些常用的组件,如按...

    3 年前
  • npm 包 justows.conn.log.dummy 使用教程

    justows.conn.log.dummy 是一个适用于前端的 npm 包,用于在控制台打印虚假的连接日志。该包可以用于测试和调试前端应用程序。本篇文章将介绍如何安装和使用该 npm 包。

    3 年前
  • npm 包 tinify-compress 使用教程

    介绍 tinify-compress 是一个基于 node.js 和 tinify API 的 npm 包,可以快速地将图片压缩。如果你正在开发一个网站或者应用,需要优化图片,在不影响图片清晰度的情况...

    3 年前
  • npm 包 @christianmurphy/reactive-elements 使用教程

    前言 如今的前端开发进入了一个高度复杂和变化的时期,而 @christianmurphy/reactive-elements 这个 npm 包就是在这样的背景下应运而生的。

    3 年前
  • npm 包 wait-and-go 使用教程

    在 Web 前端开发中,经常需要等待某些异步操作完成后再执行后续的操作,如请求后端数据、加载图片、执行动画等。但是 JavaScript 中的异步操作在执行时是不会阻塞程序的执行的,因此需要一些手段来...

    3 年前
  • npm 包 buzz-expert 使用教程

    简介 buzz-expert 是一个前端开发套件,提供了丰富的操作 API,如获取随机字符串、颜色、时间日期等。其中,最为实用的功能是生成随机字符串和随机颜色。 安装 使用 npm 或 yarn 安装...

    3 年前
  • npm 包 react-spotify-login 使用教程

    介绍 React-Spotify-Login 是一个用于登录 Spotify 的 React 组件库。使用了 Spotify API 进行身份验证和个人信息获取。使用这个库可以快速的构建一个嵌入式的 ...

    3 年前
  • npm 包 gtranslate 使用教程

    本篇文章将介绍 npm 包 gtranslate 的使用教程。gtranslate 是一款用于前端开发的工具,可以方便地翻译文本。其简单易用的特性,可以让开发者节省大量时间和精力。

    3 年前
  • npm 包 vue-range-picker-extended 使用教程

    前言 在前端开发中,经常需要使用到日期选择器或者时间范围选择器等组件,这些组件可以方便用户选择指定日期或时间段。vue-range-picker-extended 是一个非常优秀的日期和时间范围选择器...

    3 年前
  • npm 包 mm-client-browser 使用教程

    前言 在前端开发中,经常需要从后端服务获取数据进行展示。而 mm-client-browser 是一个非常好用的 npm 包,它提供了与后端服务进行通信的方法,让我们可以轻松地获取所需数据。

    3 年前
  • npm 包 uc-app 使用教程

    UC-App 是一款基于 Vue.js 的移动端 UI 组件库,是一种用于构建 Web 界面的前端框架。UC-App 提供了一系列组件,如按钮、输入框、表格、菜单、弹窗等,使开发人员可以更快速、更方便...

    3 年前
  • npm 包 uc-views 使用教程

    背景 在前端项目开发过程中,我们常常需要用到各种第三方库和工具,通过 npm 安装这些包能够快速方便地引入和使用。其中,uc-views 包是一个基于 Vue.js 的 UI 组件库,提供了丰富的组件...

    3 年前
  • npm 包 vcoud-skill-template 使用教程

    vcoud-skill-template 是一个 npm 模块,它可以帮助前端开发者快速地开发基于 VCoud 平台的技能。在本篇文章中,我们将会学习如何使用 vcoud-skill-template...

    3 年前
  • npm 包 egg-parcel 使用教程

    前言 在前端开发中,我们经常会需要使用到类似 Webpack 这样的打包工具来处理项目的代码文件。而 egg-parcel 正是一个基于 Parcel 的打包工具,提供了一种更加友好、便捷的打包方式,...

    3 年前
  • npm 包 egg-sequelize-translation 使用教程

    简介 egg-sequelize-translation 是基于 Egg.js 和 Sequelize 数据库 ORM 框架的多语言翻译插件。本插件支持中英文及其他语言的翻译,为前端和后端开发人员提供...

    3 年前
  • npm 包 drag-area 使用教程

    随着前端开发技术的不断发展,越来越多的功能组件和工具包被开发出来,方便了前端开发者的工作。其中,npm 包成为了前端领域最为常见的工具,提供丰富的功能和扩展性。 本文将介绍一个常用的 npm 包 dr...

    3 年前
  • npm 包 garen-fullfillment 使用教程

    garen-fullfillment 是一个常用于前端项目中的 npm 包。它可以帮助我们快速实现一些常见的功能,例如路由管理、状态管理和组件库等。使用它能够提高我们的开发效率和代码的可维护性。

    3 年前

相关推荐

    暂无文章