web-dev-qa-db-ja.com

タイプスクリプトとJQueryのコンパイルエラー:名前 '$'が見つかりません

JqueryでTypeScriptをテストしていますが、test.tsファイルをコンパイルすると、常に「$」という名前が見つかりませんというエラーが表示されます。

私はすでにjqueryをインポートし、その定義参照を追加しました。 _test.ts_ファイルでimport $ = require("jquery")を使用すると、tscコンパイル時に別のエラー「_Cannot find module jquery_」が発生します。ただし、JQueryフォルダーはnode_modulesフォルダー内に既に存在します。

タイプスクリプトでjqueryを使用する正しい方法は誰ですか?

以下が私の手順です。

  1. _npm install jquery --save_を使用してjqueryをインストールします
  2. _typings install --global --save dt~jquery_を使用して、タイピングとjquery定義をインストールします
  3. Test.tsの先頭にjquery参照を追加します_/// <reference path="../../../typings/globals/jquery/index.d.ts" />_

tsconfig.json

_{
    "compilerOptions": {
        "jsx": "react",
        "outDir": "./dist",
        "sourceMap": true,
        "noImplicitAny": true,
        "module": "commonjs",
        "target": "es5",
        "experimentalDecorators": true
    },
    "exclude": [
        "node_modules"
    ],
    "files": [
        "./typings/index.d.ts",
        "./src/wo/tests/test.ts",
    ]
}
_

test.ts

_/// <reference path="../../../typings/globals/jquery/index.d.ts" />

let test:any=$("div");
_
19
Mark Yuan

@ types/jqueryのバージョン管理の問題が原因で、これらのエラーの90%が見つかった場合

実行してみてください:

 npm install jquery --save

その後、app.module.ts

import * as $ from 'jquery';

次に実行します:

  npm install @types/[email protected]

そして、あなたは行く準備ができているはずです。

22
Ignatius Andrew

それが役立つかどうかはわかりませんが、日付ピッカーで同じ問題を解決しました。

まず、次のコマンドでjQueryをインストールしました:npm install --save-dev @types/jquery

次に、angular-cli.jsonファイルに依存関係を追加します。

"styles": [
            "../node_modules/bootstrap/dist/css/bootstrap.css",
            "../node_modules/font-awesome/css/font-awesome.css",
            "../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker3.min.css",
            "styles.css"
        ]

"scripts": [
            "../node_modules/jquery/dist/jquery.js",
            "../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker.min.js"
        ]

JQueryパーツを追加するとうまくいくと思います。動作するかどうか教えてください。

13
Nahid Shaiket

おそらく、修正が必要な脆弱性がいくつかあります。

実行npm audit fixそれらを修正するか、npm audit 詳細については。

0
T.Dossev

次のパッケージをインストールしてインポートします。エラー(「名前 '$'が見つかりません」)が解決されます。 Angularバージョンは7

import 'datatables.net';

0
Ezhil Arasan