npm 包 usemin 使用教程

前言

前端开发中经常需要对 HTML 和 CSS 文件进行构建和优化,比如合并文件、压缩代码、图片优化等操作。为了解决这些问题,我们可以使用 Grunt 或者 Gulp 这类构建工具,但是这些工具使用起来需要一定的学习成本。而使用 usemin 可以让你更加轻松地进行自动化构建和优化。

什么是 usemin

usemin 是一个自动化构建和优化 HTML 代码的 npm 包。它可以将 HTML 文件中引用的 CSS 和 JavaScript 文件合并、压缩,并替换为合并后的文件路径,从而减少页面的 HTTP 请求次数,加速页面加载速度。

如何使用 usemin

使用 usemin 需要安装 Node.js 和 npm。如果你还没有安装,可以参考Node.js 安装指南进行安装。

第一步:安装 usemin

使用 npm 安装 usemin:

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

第二步:在 HTML 文件中添加注释

在 HTML 文件中需要对要进行处理的 CSS 或者 JavaScript 文件使用注释进行标记,如下所示:

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

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

其中 build:cssbuild:js 表示要进行处理的文件类型,css/app.min.cssjs/app.min.js 则指定了合并后的文件路径。需要注意的是,合并后的文件路径应该与原始文件相对路径相同,否则会出现路径问题。

第三步:使用 gulp 进行构建

在使用 usemin 进行处理前,需要先使用 gulp 进行构建。使用 gulp 可以更加方便地进行自动化构建。

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

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

上面的代码中,gulp.src('./src/index.html') 指定需要处理的 HTML 文件路径,usemin() 则对 HTML 文件进行处理,最后 .pipe(gulp.dest('./dist/')) 可以将处理后的 HTML 文件保存到指定路径。

usemin 示例

下面是一个简单的 usemin 示例。通过使用 usemin,我们将 HTML 文件中引用的 CSS 和 JavaScript 文件进行了压缩和合并,并修改了链接路径。

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

运行 gulp 任务后,处理后的 HTML 文件如下所示:

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

可以看到,CSS 和 JavaScript 文件被合并成了一个文件,并且链接路径被修改为了合并后的文件路径。

总结

使用 usemin 可以更加方便地进行自动化构建和优化。通过配置 HTML 中的注释,就可以将 HTML 文件中引用的 CSS 和 JavaScript 文件进行合并、压缩,并替换为合并后的文件路径。使用 gulp 可以更加方便地进行自动化构建。

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


猜你喜欢

  • npm 包 node-cron 使用教程

    npm 包 node-cron 使用教程 在前端开发中,我们常常需要进行定时任务,如定时备份服务器数据、定时执行一些数据统计任务等。这时,一个好用的工具会为我们省去许多麻烦。

    5 年前
  • npm 包 `graceful-ncp` 使用教程

    graceful-ncp 是一个 Node.js 库,它提供了一种优雅的复制文件和文件夹的方法。在文件复制过程中,它会自动检测错误并进行恢复,避免了程序因为某些原因而崩溃,同时也提供了进度跟踪等良好的...

    5 年前
  • npm 包 graceful-fs-extra 使用教程

    介绍 npm 包 graceful-fs-extra 是基于 fs-extra 扩展的 node.js 文件系统模块。它提供了比 fs-extra 更加流畅的体验,特别是在处理文件系统方面的错误处理。

    5 年前
  • npm 包 Sequelize-Auto 使用教程

    在前端开发中,ORM(Object-Relational Mapping)是一个非常重要的概念。ORM 通过将对象映射到数据库记录来处理关系数据库的操作。当我们需要快速生成针对 MySQL、Postg...

    5 年前
  • npm 包 object-tree 使用教程

    什么是 object-tree object-tree 是一款方便的 JavaScript 库,它可以将对象转换成树形数据结构。如果你需要展示嵌套结构的数据,object-tree 是一个非常有用的工...

    5 年前
  • npm 包 umzug 使用教程

    前言 在开发 web 应用时,我们经常需要进行数据库迁移。数据库迁移是一项比较繁琐的工作,我们需要手动执行各种 SQL 语句,而且还需要记录每一次执行的 SQL 语句,以便后续维护和回滚。

    5 年前
  • npm 包 svg-captcha 使用教程

    在前端开发中,验证码是常用的一种安全机制,常见的验证码有数字、字母、中英文、数学运算等等。而使用 SVG 技术生成验证码,则是当前较为流行的一种方式。而 svg-captcha 正是一个非常优秀的使用...

    5 年前
  • npm 包 shinjs 使用教程

    什么是 shinjs shinjs 是一个帮助开发者快速创建优秀的全屏滚动网页的 JavaScript 库。它提供了一系列可自定义的效果,并且能够兼容各种设备和浏览器。

    5 年前
  • npm 包:react-native-mofang 的使用教程

    React Native 是一个流行的应用程序框架,让开发人员能够使用 JavaScript 构建移动应用程序。React Native 提供了许多有用的组件和库,但有时候你需要更多的功能和定制选项,...

    5 年前
  • npm 包 kernc 使用教程

    什么是 kernc kernc 是一个基于 webpack 的自动化打包工具,它提供了一种可以自动化压缩和优化 CSS 和 JavaScript 文件的方式,其核心思想是静态分析源码,从而实现自动化处...

    5 年前
  • npm 包 webpack-mix 使用教程

    在前端开发中,我们常常需要使用一些工具来对代码进行打包、编译、压缩等操作。而其中一个非常常用的工具就是 webpack。不过,使用原生的 webpack 配置文件来进行配置比较繁琐,有时候需要考虑很多...

    5 年前
  • npm 包 preprocessor 使用教程

    在前端开发中,经常需要处理一些 CSS 或者 JavaScript 文件。这些文件可能需要在编译之前进行一些操作,例如替换变量、添加前缀、删除注释等等。preprocessor 就是解决这些问题的一个...

    5 年前
  • npm 包 sync 使用教程

    在前端开发中,我们经常需要使用到外部的项目或者库。而这些外部资源的管理与安装就需要通过 npm 来完成。然而,在多个项目之间进行资源同步时可能会非常麻烦,这就需要使用 npm 包 sync 工具进行资...

    5 年前
  • npm包bindep使用教程

    介绍 npm包bindep是一个用于管理二进制依赖的工具。它可以让你轻松地在前端项目中安装和管理二进制依赖,像C++二进制文件或CUDA所需的工具链。npm包bindep提供了易于使用的命令行接口和可...

    5 年前
  • npm 包 axios-retry 使用教程

    推荐使用 Promise 风格的 HTTP 库 Axios 的人一定都熟悉它的超时时间(timeout)配置。然而,Axios 并没有提供重试机制,当请求失败时只能通过捕获异常后手动重新发送请求。

    5 年前
  • npm 包 remove-trailing-slash 使用教程

    npm 包 remove-trailing-slash 使用教程 在前端开发中,常常需要对 URL 进行处理,如:添加或删除结尾的斜线。这时候,就可以使用 npm 包 remove-trailing-...

    5 年前
  • npm 包 analytics-node 使用教程

    介绍 analytics-node 是 Segment 系统中的一个客户端,用来将跟踪数据发送到 Segment 中心。这个库允许您轻松地跟踪来自您的 Node.js 应用程序的数据。

    5 年前
  • npm 包 babel-plugin-extensible-destructuring 使用教程

    前言 在前端开发中,我们经常需要使用 ES6 的结构语法获取对象或数组中的部分数据。然而,在某些情况下,我们希望支持更灵活的结构语法,例如从深层嵌套的对象或数组中获取数据时,我们希望可以根据一定的规则...

    5 年前
  • npm 包 hashdirectory 使用教程

    介绍 在开发前端项目的过程中,我们经常需要对目录进行操作。例如,我们需要在项目构建时,对前端资源文件进行打包或者压缩等操作。但是如果这些文件过多,手动一个一个处理将会非常繁琐和费时。

    5 年前
  • npm包find-key使用教程

    什么是npm包? npm是Node.js的包管理器,类似于Java中的Maven和Python中的pip。npm上有数以百万计的软件包可以供开发人员使用。 什么是find-key? find-key是...

    5 年前

相关推荐

    暂无文章