npm 包 gulp-css-critical 使用教程

在网站优化中,一个常见的任务就是将页面渲染速度尽可能地优化,而其中关键渲染路径更是一个需要优化的重要点。为了最小化首屏渲染时间,Critical CSS 技术被提出。这种技术可以让关键 CSS 在首次渲染中优先加载,以提高首次渲染性能。gulp-css-critical 是 Node.js 中一个用于提取关键 CSS 的 npm 包,本文将对其使用方法进行详细介绍。

安装

在使用 gulp-css-critical 之前,您需要先安装 Node.js 这个环境。如果您还没有安装,请访问 Node.js 官网 进行安装。

接着使用 npm 命令进行安装即可:

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

使用方法

gulp-css-critical 设计得非常简单,它基于gulp的任务自动化构建工具,并且可以配合多种代码预处理器(如:Sass,Less等)使用。

首先,您需要在主项目中创建一个名为 gulpfile.js 的文件,在文件中引入所需的依赖库:

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

然后,您可以开始使用 gulp-css-critical 这个插件。下面是一个示例的 gulpfile.js 文件,它演示了怎样把主样式 style.css 文件转换成内联样式表,顺便过滤出来需要内联的 CSS:

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

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

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

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

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

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

可以看到,这个任务首先从 HTML 文件 src/index.html 中提取出页面上需要用到的关键 CSS,忽略了所有生成字体的 CSS 类。并且通过 pipe() 方法可以将提取出来的内联样式表和其他非 CSS 元素一起按照相对路径写入到 "/static/" 路径下面。

最后的输出结果是,生成一个名为 index.html 的 HTML 文件,并附有相关的内联样式表,以及其它所需的静态文件。如下:

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

总结

在这篇文章中,我们学习了如何使用 npm 包 gulp-css-critical 提取出一个页面中的关键 CSS 并内联在 HTML 文档的头部,通过这样的优化可以最小化首次渲染时间,提高网站的性能表现。本篇文章的示例代码在 https://github.com/ 中,欢迎克隆并自己尝试使用。

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


猜你喜欢

  • npm 包 mvc-react 使用教程

    简介 mvc-react 是一个基于 React 的模型-视图-控制器 (MVC) 框架,可以帮助开发者更加快速、简单地搭建 Web 应用程序。通过分离数据和业务逻辑,mvc-react 可以让你更加...

    3 年前
  • npm 包 ndc-parser 使用教程

    介绍 ndc-parser 是一个用于解析 Nginx 监听的日志文件格式的 npm 包。使用该包可以快速地从日志文件中提取出有用的信息,例如客户端 IP、访问时间、HTTP 请求方法、请求 URL、...

    3 年前
  • npm 包 raw-desktop-screenshot 使用教程

    前言 在前端开发过程中,经常需要对页面进行截图、快照等操作。为了方便起见,我们可以使用一些现成的包来实现这些功能。其中,npm 包 raw-desktop-screenshot 就是一个非常实用的工具...

    3 年前
  • npm 包 rsys-minimize 使用教程

    随着前端开发的发展,我们需要进行静态资源优化来提高网页性能和用户体验。其中,CSS 和 JavaScript 文件的压缩是其中非常重要的一步。 在这方面,rsys-minimize 是一个非常优秀的 ...

    3 年前
  • npm 包 @ianwremmel/pkgshift 使用教程

    简介 npm 是前端开发中常见的包管理工具,而 @ianwremmel/pkgshift 则是一个用于管理包的工具,旨在降低前端开发中包管理时的复杂度。 本文章将介绍如何使用 @ianwremmel/...

    3 年前
  • npm 包 abp-announce 使用教程

    介绍 ABP 框架是用于构建企业级应用程序的开源 web 应用程序框架。abp-announce 是 ABP 框架的扩展,提供了在 ABP 框架中使用通知功能的能力。

    3 年前
  • npm 包 facebook-re-scrape 使用教程

    对于前端开发者而言,优化 Facebook 页面的预览效果可能并不是一个常见的问题,但是在某些情况下,它对于您的页面的推广和曝光可以起到重要作用。而 npm 包 facebook-re-scrape ...

    3 年前
  • npm 包 leyserplus-assets 使用教程

    介绍 leyserplus-assets 是一个 npm 包,主要用于前端开发中 JavaScript 和 CSS 的资源加载和管理。使用该包可以帮助开发者更加便捷地引入第三方库、样式、图标等资源,并...

    3 年前
  • npm 包 loveshine_popup 使用教程

    在前端开发过程中,引入常用的库和插件可以提高我们的开发效率和代码质量。loveshine_popup 是一个基于 jQuery 的 popup 弹窗库,它可以快速方便地实现各种弹窗效果,以下是该 np...

    3 年前
  • npm 包 complex-state 使用教程

    如果你是前端开发者,那么你一定知道复杂状态管理是必不可少的。而 npm 包里的 complex-state 就是一个非常好的解决方案。本文将提供给你 complex-state 的详细使用教程,并带你...

    3 年前
  • npm 包 ol-md-pickers 使用教程

    在前端开发中,我们经常需要使用日期、时间或日期时间选择器,在这个时候,npm 包 ol-md-pickers 就可以满足这个需求。在本文中,我们将介绍 ol-md-pickers 的使用方法,包括安装...

    3 年前
  • npm 包 react-native-webkit-webview-dotan 使用教程

    在前端开发中,我们经常需要在移动端使用 Webview 来展示网页内容,并且需要与原生应用的其他模块进行交互。而在使用 React Native 进行移动端开发时,我们可以使用 react-nativ...

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

    前言 ol-sortable-js 是一款基于 SortableJS 开发的插件,用于在 OpenLayers 中实现拖拽排序的功能。本文将为大家详细介绍 ol-sortable-js 的使用方法,并...

    3 年前
  • npm 包 snowframework 使用教程

    介绍 snowframework 是一个基于 Node.js 的前端框架,它提供了一些快速开发前端应用的工具和库。通过使用 snowframework,你可以快速地构建出具有高度可复用性并且易扩展的 ...

    3 年前
  • npm 包 gate.io 使用教程

    什么是 gate.io? gate.io 是一个数字资产交易平台,提供了多种数字货币的交易服务,如比特币、以太坊、莱特币等。 使用 npm 包 gate.io npm 包 gate.io 是基于 no...

    3 年前
  • npm 包 zb-com 使用教程

    前言 在前端开发过程中,我们经常需要使用各种各样的第三方库或者工具,而 npm 包便是其中最为常见的一种。本文将会介绍一个名为 zb-com 的 npm 包,希望对大家有所帮助。

    3 年前
  • npm 包 generator-playable-ads 使用教程

    最近,许多互联网广告公司都开始推出可玩广告,这种格式的广告更加交互和娱乐,对用户的干扰更小,具有更好的用户体验。前端开发者们也开始关注可玩广告的开发,而 generator-playable-ads ...

    3 年前
  • npm 包 html-webpack-sw-register-plugin 使用教程

    随着 PWA(渐进式 Web 应用)逐渐受到前端开发者的青睐,Service Worker 已经成为了必不可少的技术之一。而在使用 Service Worker 时,通常需要将 Service Wor...

    3 年前
  • npm 包 react-click-boundary 使用教程

    介绍 在开发前端页面的过程中,经常会遇到点击一个元素时需要执行某些操作,但是该元素和其他元素又有一定的距离,从而导致误触。为了解决这一问题,可以通过使用 react-click-boundary 包来...

    3 年前
  • npm 包 @abbott-platform/api-ai-botkit 使用教程

    简介 @abbott-platform/api-ai-botkit 是一款基于 Botkit 和 Dialogflow 的 Node.js 包,它可以让你快速搭建一个自然语言处理聊天机器人。

    3 年前

相关推荐

    暂无文章