Webpack 和 TypeScript 上的 SignalR:找不到模块“./NodeHttpClient”

SignalR on Webpack and TypeScript: cannot find module './NodeHttpClient'

我正在尝试在 Angular 应用程序中设置 SignalR 客户端。有 Webpack 可以完成这项工作。当然还有 TypeScript。

Package.json 是

{
  "private": true,
  "version": "0.0.0",
  "scripts": {
    "test": "karma start ClientApp/test/karma.conf.js"
  },
  "devDependencies" " { ... }
  "dependencies": {
    "@aspnet/signalr": "^1.1.0"
  }
}

TypeScript 代码是:

import { HubConnectionBuilder } from '@aspnet/signalr';

@Component({
    selector: 'stream-details',
    templateUrl: './stream-details.component.html'
})
export class StreamDetailsComponent implements OnInit {
    @Input() summary: any;

constructor(private deviceService: StreamService) {
}

ngOnInit() {

    let connection = new HubConnectionBuilder()
        .withUrl('/streamingHub')
        .build()

    connection
        .start()
        .then(() => connection.stream('SubscribeToStream', 'stream123'));
}
}

当应用为运行时,错误为:

NodeInvocationException: Prerendering failed because of error: Error: Cannot find module './NodeHttpClient'

为什么不包括这个 NodeHttpClient.js 文件?我想念什么?

此问题目前仍然存在。 github 上还有一个 issue。该问题已关闭,但根据我的观察,问题仍然存在。

将您的@aspnet/signalr 版本降级到 1.0.0 解决问题。

Package @aspnet/signalr 1.1.0 不再显示此问题。我无法在新的 angular 应用程序上重现它。