簡體   English   中英

如何在 Angular2 組件中導入 SignalR?

[英]How to import SignalR in Angular2 component?

我正在使用 angular-cli 來搭建我的 Angular2 應用程序。

以下是我的package.json的摘錄:

"dependencies": {
    // ...
    "jquery": "^3.1.1",
    "signalr": "^2.2.1"
    //...
},
"devDependencies": {
    // ...
    "@types/jquery": "^2.0.39",
    "@types/signalr": "^2.2.33"
    //...
}

我的app.component.ts

import { Component } from '@angular/core';
import * as $ from "jquery";
import "signalr";

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
    title = 'app works!';
    constructor() {
        console.log($);
    }
}

現在我從 SignalR 得到以下錯誤,說未添加 jQuery,但我已在上面的行中導入它:

錯誤:未找到 jQuery。 請確保在 SignalR 客戶端 JavaScript 文件之前引用 jQuery。

如果我注釋掉import "signalr"; jQuery 被正確加載。 這里發生了什么? 為什么 SignalR 說找不到 jQuery?

我這樣解決了這個問題:

import $ from 'jquery';
window.jQuery = $;
require('signalr');

Signalr 依賴於window.jQuery 出於某種原因import $ from 'jquery'沒有設置window.jQuery 這就是為什么需要明確地這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM