2017-12-14 5 views
2

TypeScriptを使用してノードサーバからajax呼び出しを行う必要があります。 私は私の実装の上にマウスを置くならば、それは次にenter image description hereノードサーバでのJQueryの使用 - タイプスクリプト

以下

としてAJAXを認識jquery

私のクラスに以下のように
import * as $ from "jquery" 

をインポートし、私はJavaScriptにこの活字体をコンパイルしています。それは成功です。

私は、ノードのサーバーをホストし、私は私は何かが足りないと思うエラー

TypeError : $.ajax is not a function. 

の下に取得しています。この機能にアクセスしようとします。私は物事を把握することができません。

+6

ノードからjQueryを使用することは意味がありません。 AxiosやRequestなど、サーバー側のHTTPクライアントを使用する必要があります。 – SLaks

答えて

2

これを行わないでください。コメントで述べたようにjQueryのサーバー

、クライアント側のためではない、あなたは、このようなhttp.request方法、またはそのようなnpm-fetchやAxiosニーズのかもしれないほどのライブラリに建てられたとして、サーバー側のHTTPクライアントを使用する必要があります指示する。 jQueryのノードで動作するために

、ドキュメントとウィンドウが必要です。


しかし、あなたはjquery NPMパッケージを使用していると仮定すると、package pageから以下の引用文を注意してください。そのようなウィンドウはNodeにネイティブに存在しないので、jsdomのようなツールを使って嘲笑することができます。

npmパッケージが提供するものは、擬似windowで注入されたjQueryをインスタンス化するためのファクトリです。彼らはそれを行う方法の例を挙げていますが、この部分はかなり明らかです。

これはテスト目的に役立ちます。

"テスト目的のために"とは、クライアントサイドパッケージのビルドパイプラインの一部としてnodejでユニットテストを実行するなどの目的を意味します。ノードで使用する汎用ライブラリではありません。

+0

... jqueryをHTML解析とノードでのトラバーサルに使用する場合は、[cheerio](https://github.com/cheeriojs/cheerio/)を使用する方がよいでしょう。 jqueryですが、サーバのためのDOMレスの実装がはるかに高速です。 – josh3736

関連する問題