如何修复 signalr 的 ChunkLoadError

问题描述 投票:0回答:3

我在本地运行我的 nx 站点时遇到问题,任何使用 signalR 的联合应用程序都开始抛出 ChunkLoadError。

我尝试过更改 signalR 的版本、重新加载、清除缓存并单独运行我的联合应用程序。结果总是一样的。

Uncaught TypeError: Failed to resolve module specifier "module". Relative references must start with either "/", "./", or "../".

ChunkLoadError: Loading chunk vendors-node_modules_microsoft_signalr_dist_esm_index_js failed.

有人在使用 signalR 时遇到过类似的问题吗?

当我检查项目的依赖项时,它似乎缺少 signalR

这是我创建的用于演示该问题的存储库:https://github.com/LeonieNFarmer/nxv16.5.3withsignalr

reactjs typescript signalr webpack-module-federation nomachine-nx
3个回答
0
投票

也许清除包管理器的缓存会更好

npm cache clean --force

并检查您的

package.json
文件以确保正确列出
SignalR
依赖项

npm install @microsoft/signalr

如果问题仍然存在,可能是

SignalR
与项目中的其他依赖项之间存在冲突或兼容性问题!

因此请尝试安装已知可与您的 Nx 项目配合使用的旧版本

SignalR
,为此,只需运行此命令(将
version
替换为您要安装的特定
version
):

npm install @microsoft/signalr@<version>

祝你好运!


0
投票
  1. 确保您使用之前适用于该项目的相同节点版本。
  2. 您是否不小心全局安装了 signalR?卸载它。然后在项目中再次运行 npm install 以更新您的 node_modules 和 package-lock。因为目前您的 package-lock.json 不包含对 signalR 的任何引用。一般来说,您可能需要检查是否全局安装了不需要全局安装的软件包。您可以使用
    npm list -g --depth 0
    检查全局安装的内容。您是否有公司代理人在背后运作?当您运行 npm install 时,这可能会导致问题,因为 npm 模块的安装后脚本可能会失败。
  3. npm 缓存清理对于新的 npm 版本实际上不起作用。您必须删除 npm 缓存文件夹,例如对于 Windows,您可以在
    %localappdata%\npm-cache
    中找到它。新的 npm 版本可能会说“你不再需要修复缓存,因为现在一切都完美无缺”,但我已经通过删除该文件夹解决了过去的问题。

0
投票

您的联合应用程序似乎缺少导入映射的正确用法,这意味着无法处理裸模块说明符。我建议您看一下官方示例之一,看看它是什么样子:signalR样本

© www.soinside.com 2019 - 2024. All rights reserved.