Vue无法使用Typescript

时间:2018-05-15 21:43:31

标签: typescript web vue.js signalr

我正在尝试在我的Vue应用程序中使用SignalR Core以及@vue/cli和Typescript。在我的组件中,我只是使用

import signalR from "@aspnet/signalr";

并且编译器告诉我一切都很好。 npm run servenpm 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"),但这给了我同样的错误。

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但罪魁祸首是

import signalR from "@aspnet/signalr";

如果我不使用catch-all导入和导入我需要的类型,它可以正常工作:

import { HubConnection, HubConnectionBuilder } from "@aspnet/signalr";

导出signalR的方式可能有问题,但我不知道是什么。