当前位置: 首页 > 知识库问答 >
问题:

Webpack vs webpack-dev-server vs webpack-dev-中间件vs webpack-hot-middleware vs etc

翁昊乾
2023-03-14

我开始工作与webpack节点/Express环境开发一个ReactJS服务器端渲染应用程序与react-router。我对每个webpack包在dev和prod(运行时)环境中的作用感到非常困惑。

以下是我理解的总结:

webpack:是一个包,一个工具,用于将web应用程序的不同部分连接在一起,然后捆绑在一个单独的包中。js文件(通常是bundle.js)。然后,结果文件在prod环境中提供,由应用程序加载,并包含运行代码所需的所有组件。功能包括缩小代码、缩小尺寸等。

webpack dev server:是一个提供服务器来处理网站文件的包。它还构建了一个单一的。来自客户端组件的js文件(bundle.js),但在内存中提供。它还可以选择(-hot)监视所有建筑文件,并在代码更改时在内存中构建新的捆绑包。服务器直接在浏览器中提供服务(例如:http:/localhost:8080/webpack dev server/whatever)。内存加载、热处理和浏览器服务的结合使用户可以在代码更改时在浏览器上更新应用程序,非常适合开发环境。

如果我对上面的文字有疑问,我真的不确定下面的内容,所以如果有必要请告诉我

当使用webpack-dev-server节点/Express一起使用时,一个常见的问题是webpack-dev-server节点/Express一样是服务器。这使得这个环境很难同时运行客户端和一些节点/表达式代码(API等)。)。注意:这是我所面临的,但如果能理解为什么会发生更多细节,那就太好了...

webpack-dev-middleware:这是一个中间件,具有与webpack-dev-server相同的功能(内存捆绑,热重装),但格式可以注入到server/Express应用程序中。这样,在节点服务器内部就有了一种服务器(webpack-dev-server)。哎呀:这是个疯狂的梦吗???这篇文章如何解决开发和生产等式,让生活变得更简单

webpack-hot-middleware:这个...困在这里...在寻找webpack-dev-middleware时发现了这一块...不知道如何使用它。

共有2个答案

江华容
2023-03-14

截至2018年更新,并考虑到其官方GitHub页面上的webpack开发服务器注释:

维护中的项目请注意,webpack dev server目前处于仅维护模式,短期内不会接受任何其他功能。大多数新的特性请求都可以通过Express中间件完成;请查看文档中使用前后挂钩的情况。

构建网页包HMR的自然选择是什么?

杜建章
2023-03-14

正如您所描述的,Webpack是一个模块捆绑器,它主要捆绑各种模块格式,以便它们可以在浏览器中运行。它同时提供CLI和Node API。

Webpack Dev Middleware是中间件,可以安装在快速服务器中,在开发过程中为您的捆绑包提供最新的编译。这将在监视模式下使用webpack的Node API,而不是输出到它输出到内存的文件系统。

相比之下,您可以在生产中使用类似于express.static的东西来代替这个中间件。

Webpack Dev Server本身就是一个express Server,它使用Webpack Dev中间件为最新的捆绑包提供服务,并另外处理客户端中实时模块更新的热模块更换(HMR)请求。

Webpack Hot Middleware是webpack-dev-server的替代方案,但它不启动服务器本身,而是允许您将其挂载在现有/自定义快速服务器中,旁边是webpack-dev-middleware。

而且

更让人困惑的是,还有Webpack Hot Server Middleware,它被设计为与Webpack dev MiddlewareWebpack Hot Middleware一起使用,以处理服务器呈现应用程序的热模块替换。

 类似资料:
  • 问题内容: 我开始在开发使用的服务器端渲染应用程序的环境中工作。我对每个Webpack包在开发和生产(运行时)环境中的作用感到非常困惑。 这是我的理解摘要: :是一个软件包,是一种工具,用于将Web应用程序的不同部分结合在一起,然后捆绑成一个.js文件(通常是)。然后,结果文件将在产品环境中提供以由应用程序加载,并包含运行代码的所有必需组件。功能包括缩小代码,缩小代码等。 :是一个提供 服务器 以

  • 我目前试图取代我的旧的设置,使用webpack-开发服务器与一个更健壮的解决方案,基于快速webpack-中间件。所以我过去是这样运行它的:"webpack-dev-server-内容-基础公共/-历史-api-回退",但现在我想这样使用它:"节点devServer.js"。以下是我当前设置的详细信息。 网页包。配置。dev.js: devServer。js: 你能告诉我哪里出了问题吗?我的印象是

  • 概述 本文主要介绍 canal 产品整体设计,帮助你快速地熟悉代码脉络。如果你对 canal 还一无所知,只是知道他能进行数据迁移同步,那么建议先行阅读 [[Introduction]] 和 [[AdminGuide]] 两篇文档了解。 产品设计 server 代表一个 canal 运行实例,对应于一个 jvm instance 对应于一个数据队列 (1个 canal server 对应 1..n

  • dev-setup 搭建本地开发环境相关文档。

  • Dev C++是一个Windows环境下的一个适合于初学者使用的轻量级 C/C++ 集成开发环境(IDE)。它是一款自由软件,遵守GPL许可协议分发源代码。它集合了MinGW中的GCC编译器、GDB调试器和AStyle格式整理器等众多自由软件。 Dev C++使用MinGW/GCC编译器,遵循C/C++标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程

  • dev-sidecar 是一款为开发者打辅助的边车工具,通过本地代理的方式将 http 请求代理到一些国内的加速通道上,能解决一些网站和库无法访问或访问速度慢的问题。 特性 dns优选 根据网络状况智能解析最佳域名ip地址,获取最佳网络速度 建议遇到打开比较慢的国外网站,可以优先尝试将该域名添加到dns设置中(注意:被GFW封杀的无效) 请求拦截 拦截打不开的网站,代理到加速镜像站点上去。 可配置