【问题标题】:signalR is undefined - unable to resolve signalR in aspnet core web appsignalR 未定义 - 无法在 aspnet 核心 Web 应用程序中解析 signalR
【发布时间】:2019-11-01 19:22:24
【问题描述】:

我不明白为什么我似乎无法在我的 aspnet 核心应用程序中解析 SignalR 客户端库。我已经包含了在 index.html 中引用的库,但是当 javascript 库看不到引用时。

使用 VS2019 和 .net core 3.0 https://github.com/rohitisinhk/signalRIssue创建了一个默认的 react 项目

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "provider": "unpkg",
      "library": "@aspnet/signalr@1.1.4",
      "destination": "lib/@aspnet/signalr/",
      "files": [
        "dist/browser/signalr.js",
        "dist/browser/signalr.js.map",
        "dist/browser/signalr.min.js",
        "dist/browser/signalr.min.js.map"
      ]
    }
  ]
}

在 html 文件中,我引用了 signalr.js https://github.com/rohitisinhk/signalRIssue/blob/master/SignalRWebApp/ClientApp/public/index.html

<script src="/lib/@aspnet/signalr/dist/browser/signalr.js"></script>

但是在 javascript 文件中我似乎无法解析 signalR

https://github.com/rohitisinhk/signalRIssue/blob/master/SignalRWebApp/ClientApp/src/index.js

const signalRConst = signalR;

【问题讨论】:

    标签: asp.net-core signalr signalr.client asp.net-core-signalr


    【解决方案1】:
    1. 请注意,您正在使用 libman 管理 signalR 库,它将文件恢复到 lib/@aspnet/signalr/,因此,npm 不了解 signalR 库。

      如果您更喜欢 libman 而不是 npm,可以将 signalR 更改为 window.signalR

      const signalRConst = 窗口。signalR;

      因为您要将文件恢复到lib/@aspnet/signalr/ 而不是wwwroot/lib/@aspnet/signalr/,所以不要忘记从文件夹lib/**/* 提供静态文件

    2. 或者你可以使用 npm 来管理依赖:

      > cd ClientApp
      > npm install @aspnet/signalr --save
      

      现在您可以通过

      获得signalR
      import * as signalR from "@aspnet/signalr";
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多