为什么 SignalR 依赖于 jQuery

Why is SignalR dependent on jQuery

所以我知道 SignalR 的后续版本不依赖于 jQuery。

https://github.com/SignalR/SignalR/issues/372 - 将其从 jQuery 移开的已关闭问题。

但为什么它一开始就依赖它呢? (显然从技术的角度来看)jQuery 似乎没有什么特别之处(除了它存在,从某种意义上说,它 可以 让你的生活更轻松)。

这主要是因为 jQuery 的实用性吗?

SignalR JS 客户端目前使用 jQuery 实现以下功能:

  • 自定义事件(针对对象,而非 DOM 元素)
  • Ajax(适用于较旧的 IE,包装在 promises 等中)
  • 承诺(延期)
  • 杂项。公用事业

当我们删除 jQuery 依赖项时,我们将需要替换所有这些。 ES6 和最新的浏览器支持一些现代标准,它们将为我们提供其中一些东西,但我们需要为其他东西创建新的包装器。如果它在我们之前加载,我们仍然可以选择在 jQuery 上检测和 "light up",例如以支持较旧的 IE 版本。

如果您不能使用现在没有 jQuery 的 .Net Core 版本,您可以使用它。它是封装在 NPM 模块中的 SignalR,不需要 jQuery。它只在本地加载 ~5KB 的必要功能 https://github.com/DVLP/signalr-no-jquery