使用 webpack-koa-hot-middleware 实现热更新

简介

随着前端开发的不断发展,构建工具变得愈加重要。而在构建工具中,Webpack 成为了最热门的选项之一。Webpack 可以对 JS、CSS、图片等资源进行打包。但是它只是提供了一个打包工具,实时的更新则需要结合其他工具。webpack-koa-hot-middleware 就是一个从 webpack-dev-server 中分离出来的中间件。

安装 & 配置

在项目中安装 webpack-koa-hot-middleware:

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

在服务端启用 webpack-koa-hot-middleware:

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

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

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

然后在 webpack 配置文件中添加热更新的配置项:

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

示例

使用 webpack-koa-hot-middleware 构建启动一个简单的 koa 服务:

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

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

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

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

在 webpack.config.dev.js 中开启热更新:

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

这样,当我们进行代码更新时,中间件会自动替换已有的模块,跟 webpack-dev-server 基本一致。

参数配置

除了基本的配置,webpack-koa-hot-middleware 还有一些额外的配置项。

  • path: 用于识别客户端的更新脚本路径,默认为 /__webpack_hmr
  • heartbeat: 心跳间隔时间,用于检查客户端是否存活。默认为 1000 毫秒。
  • log: 是否打印日志,默认为 console.log
  • overlay: 如果编译出错,是否显示编译错误的信息,值为 true 则显示黑色的全屏遮罩,默认为 false

以上是常用的配置项,其他配置项可以在官方文档中查看。

总结

webpack-koa-hot-middleware 在实现 webpack 热更新方面表现非常优秀,同时提供了很多可配置的选项。使用 webpack-koa-hot-middleware 可以使我们不必依赖于 webpack-dev-server,同时还可以根据项目具体情况进行个性化定制。

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


猜你喜欢

  • npm 包 wikitranslate-api 使用教程

    1. 前言 随着互联网和全球化的发展,越来越多人开始接触和研究外语。在学习过程中,经常需要查阅外文资料。但是,对于英语不是特别熟练的人来说,阅读起来比较吃力。这时,机器翻译就是个不错的选择。

    4 年前
  • npm 包 wikitranslate-website 使用教程

    前言 wikitranslate-website 是一款基于 Node.js 的 npm 包,用于将维基百科页面翻译成其他语言。对于前端开发人员来说,了解并掌握这款 npm 包的使用方法,将能够为我们...

    4 年前
  • npm 包 winston-sns 使用教程

    在现代的前端开发中,日志记录是极为重要的一个部分。而随着 AWS 云服务的普及,使用 SNS(Simple Notification Service,简单通知服务)作为日志记录工具已经成为了一个不错的...

    4 年前
  • npm包winston-socket-server使用教程

    在前端开发中,日志记录是非常重要的一项工作。而winston-socket-server是一个能够帮助我们在Node.js应用程序中将日志记录到远程服务器上的工具。

    4 年前
  • npm 包 winston-splnkstrm 使用教程

    在应用程序开发中,日志记录是必不可少的一个模块。Winston 是一个非常流行的 Node.js 日志记录库,它支持多种日志传输方式,比如控制台、文件、数据库等等。

    4 年前
  • npm 包 winston-socket-server-wormly 使用教程

    前言 在前端开发过程中,日志管理常常是一个需要解决的问题。通常我们使用 console.log() 来打印日志,但是这种方式并不方便。我们需要一个更好的日志管理工具来帮助我们让日志更加可维护,可定制。

    4 年前
  • npm 包 wikitranslate-client 使用教程

    介绍 在前端开发中,有时候需要实现多语言翻译的功能。而 wikitranslate-client 正是一款可以帮助我们实现该功能的 npm 包。使用简单方便,可以快速接入翻译服务。

    4 年前
  • npm 包 wikitude-types 使用教程

    前言 在前端开发中,有时需要使用 AR 技术,比如在移动端上实现 AR 应用。Wikitude 是一家专业的 AR 开发平台,在其官方网站上提供了多种 AR SDK(Software Developm...

    4 年前
  • npm 包 windows.networking.vpn 使用教程

    在开发前端应用的过程中,网络是一个非常重要的环节。而一些需要用户手动连接 VPN 的应用,在使用起来可能显得比较麻烦。为了可以方便地在前端应用中连接 VPN,我们可以使用 windows.networ...

    4 年前
  • npm 包 windows.security.authentication.onlineid 使用教程

    近年来,Windows 平台的在线身份验证机制得到了极大的加强。npm 包 windows.security.authentication.onlineid 便提供了一种便捷的方式,帮助开发者在前端实...

    4 年前
  • npm 包 winston-splunkstorm 使用教程

    概述 在前端开发中,log 日志是非常重要的一部分,能够准确记录程序在运行过程中的各种信息,包括错误、警告、调试信息等等。在 node.js 应用程序中,我们通常使用 winston 这个日志库来处理...

    4 年前
  • npm 包 winston-splunk-transport 使用教程

    前言 winston-splunk-transport 是一个被广泛使用的 npm 包,可以将日志信息发送到 Splunk 平台。在前端开发过程中,日志记录是一个极其重要的环节,而 Splunk 可以...

    4 年前
  • npm 包 winston-stream 使用教程

    Winston 是一个 Node.js 的日志记录库,可以非常方便地在 Node.js 应用程序中进行日志记录,支持多种日志级别和输出格式。winston-stream 利用 Winston 提供的流...

    4 年前
  • npm 包 winston-sqs-tlrg 使用教程

    在前端开发中,我们通常需要处理大量的日志信息,以便及时发现并解决问题。npm 包 winston-sqs-tlrg 便是一个应用广泛的 Node.js 日志管理工具,通过它我们可以轻松地将日志信息发送...

    4 年前
  • 使用 Winston-Sumologic NPM 包的指南

    简介 在现代编程中,日志记录和分析是至关重要的。Winston-Sumologic 是一个 npm 包,它能够提供一个简单的方式将日志发送到 Sumo Logic 平台中。

    4 年前
  • npm 包 windows.security.credentials 使用教程

    前言 随着前端技术的发展,越来越多的应用程序开始向 Web 前端迁移。同时,为了方便地实现数据的持久化,使用浏览器提供的本地存储也越来越普遍。在 Windows 系统中,使用 credentials ...

    4 年前
  • npm 包 windows.security.authentication.web 使用教程

    如果你正在开发一个使用 Windows 帐户进行身份验证的 Web 应用程序,那么 npm 包 windows.security.authentication.web 可能会对你有所帮助。

    4 年前
  • npm 包 windows.security.credentials.ui 使用教程

    前言 Windows 系统提供了一组 API 供开发人员访问密钥和凭据。在此 API 中,有一组 API 可以让开发人员通过 UI 界面来管理凭据。这一组 API 是 Windows.Security...

    4 年前
  • npm 包 windows.security.cryptography 使用教程

    介绍 windows.security.cryptography 是一个 npm 包,用于在 Node.js 的 Windows 环境下进行加密和解密操作。 windows.security.cryp...

    4 年前
  • npm 包 windows.security.cryptography.certificates 使用教程

    前言 在前端领域,我们常常需要使用证书来保证数据传输的安全性。而对于 Windows 平台上的应用程序,我们可以使用 windows.security.cryptography.certificate...

    4 年前

相关推荐

    暂无文章