typescript - Vue 无法使用 Typescript 加载 SignalR Core
问题描述
我正在尝试在我的 Vue 应用程序中使用 SignalR Core@vue/cli
以及 Typescript。在我的组件中,我只是使用
import signalR from "@aspnet/signalr";
编译器告诉我一切都很好。都告诉我一切都好npm run serve
。npm run build
但是,一旦我尝试在浏览器中加载我的应用程序,就会收到以下错误:
Uncaught TypeError: Cannot set property 'signalR' of undefined
这发生在 signalr.js 内容的最开头:
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.signalR = factory());
}
似乎由于某种原因global
是未定义的。我在 Vue 中导入库的方式是否存在问题,或者 SignalR 团队是否不正确地导出了他们的类?
我也试过const signalR = require("./signalr.js")
,但这给了我同样的错误。
解决方案
不知道为什么,罪魁祸首是
import signalR from "@aspnet/signalr";
如果我不使用包罗万象的导入并且只导入我需要的类型,它可以正常工作:
import { HubConnection, HubConnectionBuilder } from "@aspnet/signalr";
导出方式可能有问题signalR
,但我不知道是什么。
推荐阅读
- node.js - 归档(删除)MongoDB 数据的最佳方式
- javascript - *ngFor 根本不使用对象数组
- python - How to clear if I have member.mention?
- python - 为什么 Pandas 坚持写入 CSV 中已经填满的行
- vba - VBA 在 PowerPivot 中设置筛选条件
- api - 此处使用备用路线映射图像 API
- ios - 未找到 Google AdMob 发布商数据。错误 iOS
- jquery - 动态添加html到页面
- docker - Erlang:为什么 inet:gethostbyname 提供 2 个地址,而 inet:getaddr 只提供一个
- python - 来自外部的Python Socket奇怪的IP连接