SignalRを使用してデスクトップアプリケーションと通信するアプリケーションがあります。 SignalRを利用するには、.tsファイルでjQueryを使用する必要があります。ただし、Angular 7からAngular 8.に移行した後は機能しません。
私が使う declare var $: any;
以前のバージョンのAngularと同じです。残念ながら、$はコンソールに空白を出力します。
では、Angular v8はこの方法でjQueryを使用することをサポートしなくなりましたか、それとも移行で他の何かが壊れましたか?
更新:
Npmを介してjQuery v3.3.1をロードしました。
これにより、(angular.jsonで)グローバルになります。
"scripts": [
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/signalr/jquery.signalR.js"
]
したがって、少し問題から離れ、robertsの回答を使用してjQueryがapp.module.tsで機能していることを確認した後(インポートの途中でconsole.logが機能することを知りませんでした)、前回v4をv7にアップグレードしたときに、この問題に対処しました。
起こったのは、依存関係がjQueryの再読み込みを引き起こしていたことです。 signalR通信を開始するアプリのセクションは、jQueryがまだコンポーネントにロードされていないため、console.log($)に何も表示させない別の依存関係(telerik-angular-report-viewer)もロードします。
修正:
次のコードを削除します
window.jQuery = jQuery;
window.$ = jQuery;
次のファイルから