signalR не определено - невозможно разрешить signalR в основном веб-приложении aspnet - PullRequest
1 голос
/ 28 октября 2019

Я не понимаю, почему я не могу разрешить клиентскую библиотеку SignalR в своем основном приложении aspnet. Я включил библиотеку, на которую есть ссылка в index.html, однако, когда библиотека javascript не видит ссылку.

Создан проект реагирования по умолчанию с использованием VS2019 и .net core 3.0 https://github.com/rohitisinhk/signalRIssue

{
  "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 я не могу разрешить сигнал R

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

const signalRConst = signalR;

1 Ответ

1 голос
/ 29 октября 2019
  1. Обратите внимание, что вы управляете библиотекой signalR с помощью libman, который восстанавливает файлы до lib/@aspnet/signalr/, в результате npm не знает о библиотеке signalR.

    Если выпредпочитая libman вместо npm, вы можете изменить signalR на window.signalR

    const signalRConst = <b>window.</b>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";
    
...