npm 包 webpack-hot-module-monitor 使用教程

概述

在前端开发中,Webpack 是现代前端开发技术不可或缺的一个必备工具。它可以将多个文件打包成一个或多个文件,实现模块化开发的同时,还可以进行代码压缩、图片优化等优化操作。但是,在每次修改代码后,都需要重新编译、构建文件,这是非常麻烦的。因此在这种情况下,我们需要一款自动监视文件变化并热加载的工具。本文将介绍如何使用 npm 包 webpack-hot-module-monitor 自动监视文件变化并热加载。

安装

首先,在安装 webpack-hot-module-monitor 前,需要先全局安装 webpack,安装命令如下:

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

webpack-hot-module-monitor 是一个 npm 包,安装非常方便,直接在项目目录下运行以下命令即可:

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

使用方法

一、配置 webpack

webpack 通过配置文件来进行自定义设置。在 webpack 的配置文件中加入 webpack-hot-module-monitor 的插件,示例代码如下:

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

其中:

  • webpack.HotModuleReplacementPlugin()webpack.NoEmitOnErrorsPlugin() 是 Webpack 内置的热模块替换插件和错误模块插件。

  • webpack.NamedModulesPlugin() 可以使热重载的模块文件名更友好。

  • webpack.DashboardPlugin() 可以提供一个可视化的 Webpack 编译信息面板。可以在终端运行后查看。

  • webpack.optimize.CommonsChunkPlugin() 是用来将第三方库打包到一个独立的文件中的插件,以提升打包速度。

  • webpack.optimize.UglifyJsPlugin() 是用来压缩代码的插件。

  • WHM() 就是 webpack-hot-module-monitor 的插件。

二、配置 webpack-dev-server

webpack-dev-server 是一个基于 webpack 的开发服务器,可以自动监视代码更新并重新编译生成文件。在 webpack-dev-server 中需要注意的是:

  • 首先,需要设置一下 output.publicPath 属性,因为 webpack-dev-server 需要知道在哪里监听文件变化。

  • 其次, devServer.hot 属性需要设置为 true,它将开启 HMR 功能。

  • 最后, devServer.historyApiFallback 在前端开发常用的一种路由回退方案,可以保证路由变化时,不会返回 404 页面。

示例代码如下:

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

三、使用指南

在前端开发中,每次修改代码都需要重新编译构建很麻烦,使用 webpack-hot-module-monitor 就解决了这个问题。在使用时,只需要启动 webpack-dev-server 即可监听文件变化并自动刷新页面。在 HTML 代码中引入相应的 JavaScript 文件即可,示例代码如下:

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

总结

至此,就介绍完了使用 npm 包 webpack-hot-module-monitor 进行自动监听文件变化并热加载的方法。webpack-hot-module-monitor 使用非常简单,在配置 webpack 和 webpack-dev-server 之后即可轻松启用热重载功能。同时,我们也需要注意开发中的其他细节,例如代码某些修改会导致页面流失的状态、某些语法不是热重载友好等问题都需要处理。

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


猜你喜欢

  • npm 包 @uci/mqtt 使用教程

    前言 在前端应用中,为了实现实时通信功能,我们通常会采用 WebSocket 进行双向通信。而 MQTT(MQ Telemetry Transport) 是一种轻量级的协议,它是基于发布/订阅模型来组...

    3 年前
  • npm 包 PersianCalendarHelper 使用教程

    PersianCalendarHelper 是一个 Node.js 的 npm 包,用于解析和操作波斯历(Persian calendar)。本教程将介绍如何使用该包来进行波斯历的转换和运算。

    3 年前
  • npm 包 rn-ipay88-sdk 使用教程

    介绍 rn-ipay88-sdk 是一个 React Native 平台下,用于快速接入 iPay88 支付的库。iPay88 支付是一种在线支付方式,支持 Visa、MasterCard、银联和 M...

    3 年前
  • npm 包 gesv 使用教程

    在前端开发中,我们经常需要对数据进行操作和计算。此时,线性方程组求解是一个常见的问题。而 npm 包 gesv 就是一个解决线性方程组的包,它提供了高效的数学计算方法,为我们的前端开发带来了很多便利。

    3 年前
  • npm 包 react-native-floating-text-input 使用教程

    简介 react-native-floating-text-input 是一个 React Native 的文本输入组件,可以让输入框浮动在输入内容之上并提供一些可定制属性。

    3 年前
  • npm 包 stream-functions 使用教程

    前言 流处理是指在数据处理过程中,数据逐个经过一系列涉及到数据转换,筛选和重组等操作的处理单元,一个数据流在经过各个处理单元后,形成最终的处理结果。Node.js 提供了一个 stream 模块,可以...

    3 年前
  • npm 包 nwc 使用教程

    nwc 是一个方便开发人员使用的 npm 包,它可以帮助我们快速地创建和管理 Web 组件。nwc 有着简单易用和功能强大的特点,得到了许多前端工程师的喜爱。今天,我们来分享一下它的使用教程。

    3 年前
  • npm 包 react-gradient-carousel 使用教程

    React-gradient-carousel 是一种用于在网站上添加漂亮和巧妙渐变效果幻灯片的 npm 包。这个包可以让你快速在你的前端页面中添加幻灯片轮播,轮播中的图片可以是渐变的,从而使你的页面...

    3 年前
  • npm 包 gulp-cmd-norm 使用教程

    简介 gulp-cmd-norm 是一个基于 gulp 和 CMD 规范的前端构建工具,能够将 CMD 规范的模块转换成浏览器可直接执行的模块。同时,gulp-cmd-norm 还提供了代码压缩、代码...

    3 年前
  • npm 包 hyj-better-scroll-react 使用教程

    前言 hyj-better-scroll-react 是一款基于 BetterScroll 的 React 组件,可以帮助我们快速实现滚动效果。 安装 使用 npm 进行安装: --- -------...

    3 年前
  • npm 包 node-red-contrib-wildfire 使用教程

    简介 在前端开发中,常常需要使用一些工具来提高开发效率。而 npm 是一个包管理器,它为前端工程师提供了众多的开源库和工具,可以大幅提升我们的工作效率。其中有一款名为 node-red-contrib...

    3 年前
  • npm 包 sclean 使用教程

    在前端开发中,经常会需要清理项目中的无用代码和资源,手动清理是一种很麻烦和容易出错的方式,因此我们可以使用 sclean 这个 npm 包来自动化清理工作。 什么是 sclean sclean 是一个...

    3 年前
  • npm包simpleeventbusjs使用教程

    简介 simpleeventbusjs是一款基于JavaScript的简单易用的事件总线库,它能够在前端应用程序中实现简单的事件广播和监听,从而更加灵活和方便地管理应用程序的不同部分之间的通信。

    3 年前
  • npm包 angular-store 使用教程

    什么是angular-store? angular-store是一个基于AngularJS构建的数据存储库。它使用localStorage作为默认后端,同时支持多种后端存储形式,如内存,cookie以...

    3 年前
  • npm 包 fabl-jarallax 使用教程

    前言 在现代 Web 开发中,JavaScript 框架和库已经成为了前端开发必不可少的工具。对于一个前端开发者来说,学习并掌握这些工具,是必要的步骤。其中,NPM (Node Package Man...

    3 年前
  • npm包 node-storages 使用教程

    在前端开发中,我们经常需要使用本地存储来保存一些用户信息或者应用配置,这时候我们就可以使用 node-storages 这个 npm 包来方便地管理和操作本地存储。

    3 年前
  • npm 包 node-xmldom 使用教程

    在前端开发中,我们经常需要处理 XML 数据,而 node-xmldom 这个 npm 包就为我们提供了一种非常方便的解决方案。本篇文章就为大家介绍如何使用 node-xmldom 包来操作 XML ...

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

    React 和 Node.js 一直都是前端技术的重要组成部分,而在前端类应用中,我们常常需要使用控制台应用来处理一些任务。针对这类应用,React 和 Node.js 也提供了很好的解决方案。

    3 年前
  • npm 包 zhanaghuan915 使用教程

    在前端开发中,经常需要用到各种工具来提高效率和方便开发。其中一个工具就是 npm 包。本篇文章将带领读者详细了解 npm 包 zhanaghuan915 的使用教程。

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

    前言 在前端开发中,状态管理一直是一个重要的话题。React 作为一个流行的组件化框架,提供了 useState、useReducer 等 Hooks 来帮助我们管理组件状态。

    3 年前

相关推荐

    暂无文章