问题标签 [webpack-hot-middleware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
871 浏览

webpack - 在监视模式和 Firebase 模拟器中使用 Webpack 时如何启用热重载:开始

我正在开始一个新项目,尽管使用完整的 firebase 模拟器套件会很好。

这是我认为可行的方法:

webpack.config.js

该 webpack 配置将执行以下操作:

firebase.json

所以我打开了两个终端,我做了以下事情:

1号航站楼

2号航站楼


结果:

一切正常。但我没有得到 HMR。从脚本日志中我可以看到,Webpack 正在做它的事情(关于重新加载模块),但我必须刷新页面才能让 Firebase 获得新的捆绑包版本。

问题

是否可以使用 firebase 托管模拟器进行开发,并且在更改前端代码时仍然会进行热重载?

我的意思是,如果这是不可能的,解决方案可能只是使用模拟器,同时仍firestore用作“托管服务提供商”,但我与.functionswebpack-dev-serverfirebase.json

想象一下,我有一个buildSitemap响应 URL 的云函数/sitemap.xml。该信息存储在firebase.json其中,重写由 Firebase 托管完成。

firebase.json

人们通常如何处理这个问题?

0 投票
0 回答
417 浏览

node.js - 使用 express + webpack 中间件时如何在 .ejs 更改时自动刷新浏览器?

我已经使用 express 以及 webpack-dev-middleware 和 webpack-hot-middleware 设置了一个服务器,该服务器当前正在接受 .js 文件的模块替换。

这是我目前的设置:

server.js(后端)

webpack.config.js

app.js(前端)

home-guest.ejs(查看)

对文件所做的所有更改app.js都正确使用 HMR,即时替换,无需刷新页面。

但是,要查看home-guest.ejs文件的更改,我必须手动刷新页面。

我知道为了可视化 .ejs 文件的更改,我确实需要刷新。我想做的是让服务器在检测到 .ejs 文件发生更改时自动为我刷新页面。

0 投票
0 回答
76 浏览

webpack - 您可以在 Visual Studio 2019 中使用带有 ASP.NET MVC 5 应用程序的 webpack 热模块替换吗

是否可以在 ASP.NET MVC 5 网站中使用 Visual Studio 2019 让 webpacks 热模块替换工作?我看过一些文章,可以让它与 ASP.NET Core 一起使用,但我还没有找到任何可以让我在 ASP.NET MVC 5 Web 应用程序中执行此操作的东西。

0 投票
1 回答
123 浏览

webpack - 具有单一入口点的 webpack-hot-middleware 设置

我正在从节点提供 Webpack 包并尝试使用“webpack-hot-middleware”进行热重载。

Webpack 包使用 'var' libraryTarget 并公开一个导出所有模块的文件:

Webpack 配置示例:

webpack-hot-middleware 文档设置说明说:

问题是 - 由于我没有入口数组,我如何/如何使用我当前的单个入口点配置来设置它?

我试过的:

将“条目”值从字符串转换为数组,如下所示:

然而,从 index.js 公开的全局变量此时变得未定义。

感谢您的任何建议。

0 投票
0 回答
151 浏览

javascript - 保存后 Webpack 5 构建重复执行两次

将 webpack 升级到版本 5 后,它会在进行任何更改并保存后一次编译两次,这会增加构建时间。我正在使用 webpack-dev-middleware:“^4.1.0”和 webpack-hot-middleware:“^2.25.0”。

这就是我使用 webpack-dev-middleware 编译 js 的方式

任何人都可以请帮助或建议我如何一次减少构建中的冗余。这是在 webpack 升级到版本 5 之后出现的

0 投票
2 回答
246 浏览

webpack - Webpack:在未更改的文件上触发文件监视重新编译

我正在开发一个 Webpack 5 插件,我需要手动触发对监视文件的重新编译而不修改它(主要是做一些利基 HMR 的东西)。

我认为最简单的方法是让编译器相信文件已更改。我不想用fs实际更改文件。我查看了 webpack 源代码 - 欺骗 webpack 的NodeWatchFileSystem看起来很hacky。以另一种方式触发重新编译超出了我的范围。

0 投票
0 回答
34 浏览

webpack - webpack 热中间件:在哪里设置 __resourceQuery?

我正在尝试将 webpack-hot-middleware 集成到我的 nodeJS 服务器中。服务器使用自己的复杂逻辑来提供和重定向文件,我使用 webpack-dev-middleware 和 webpack-hot-middleware 作为代理,所以我很难弄清楚如何使中间件与我的服务器。这是我使用它的方式:

在玩弄中间件时,我终于发现,如果我options.path 在这里用 硬编码${__webpack_public_path__}/__webpack_hmr,它可以在我的服务器上工作。当我更改 tsx 文件时,HMR 在浏览器中成功运行。

所以我想看看我如何提取这个价值。我看到这个options.path值来自__resourceQuery但官方文档并没有说太多,我很困惑。有谁知道在哪里以及如何覆盖options.path

0 投票
0 回答
42 浏览

webpack - 如何使用带有多个入口对象的 webpack-hot-middleware

我在 webpack 中的入口点如下所示。

我如何在这里使用 webpack-hot-middleware,因为所有示例都与数组一起使用。如果条目是对象,则只有这样的示例

但我不能在我的情况下使用它,因为对于管理面板我需要使用导入和文件名键。有任何想法吗?

0 投票
2 回答
1192 浏览

node.js - 将 4.x 更新到 5.x 时的 Webpack 问题

当我在我的项目中将 webpack 包更新到 V5.x 时,我遇到了问题。这是错误:webpack-hot-client:entry对象值必须是数组或函数。请检查您的 webpack 配置。

这是我的 package.json :

这是我的 webpack 的 base.config.js :

我尝试了很多东西并修复了很多问题,但对我来说,条目是一个数组,所以我不知道为什么会出现这个错误。

这是我的 server.js(他启动所有程序):

更新:我在编译器文件中放了一些 console.log :

Console.log 返回:

所以我认为变量的声明有问题,因为我们必须做一个 Object.values() 来获取数组。所以我可以做些什么来解决这个问题,我不会更改依赖文件......谢谢你的时间和你的回应!

问候

0 投票
1 回答
40 浏览

express - webpack-dev-middleware 无法在路由路径上热重载

我将 webpack-dev-middleware 放在我的快速路由上,指向/login这个:

webpack 中间件有效,但热重载无效。在wp_hmr_login.js中,我使用 html-webpack-plugin 并在中间件的配置中设置publicPath: '/login/'为等于publicPath: '/'(我已经尝试将这两个设置为其他所有内容,包括、、、output.publicPath删除它等,但它们都给我“无法获取 /xxx”,因为bundle 的位置与 html 插件所期望的位置不同)。在日志中,您可以看到为什么热重载不起作用:. 看起来 webpack 将 hot-update.json 放在或寻找错误的位置。我尝试在以下位置查找文件,但它似乎根本不存在。一个重要的注意事项是,相同的代码结构在我的索引路由上完美运行,它指向. 关于如何解决这个问题的任何想法都会非常有趣。'''/'GET /login/login.b0139afc0a4838fcda0e.hot-update.json 404/main.b0139afc0a4838fcda0e.hot-update.json/

编辑:我发现通过在 hot-update.json?path=/login的末尾添加['webpack-hot-middleware/client...删除 404,实际上我现在可以在控制台中看到:

但热重载仍然无法在不同的路线上工作'/'