我在努力

$(function(){ 
    alert('Hello'); 
});

在Visual Studio中显示此错误:(TS)无法找到名称“$”..我如何使用jQuery与TypeScript ?


当前回答

从现在到现在,在Angular版本9,这对我来说都是有效的

通过npm安装:npm i @types/jquery只需添加——save到全局设置。 转到tsconfig.app.json,在数组“types”中添加jquery。 发球完毕。

其他回答

在安装jquery和@types/jquery(作为dev依赖项)后,使用以下导入:

import * as $ from "jquery";

对我来说,只有这样才有用。 (angular9)

对于Angular CLI V2+

npm install jquery --save
npm install @types/jquery --save

确保jquery在angular中有一个条目。Json ->脚本

...
    "scripts": [
        "node_modules/jquery/dist/jquery.min.js"
    ]
...

转到tsconfig.app.json,在“类型”中添加一个条目

{
    "extends": "../tsconfig.json",
    "compilerOptions": {
        "outDir": "../out-tsc/app",
        "types": ["jquery","bootstrap","signalr"]
    },
    "exclude": [
        "test.ts",
        "**/*.spec.ts"
    ]
}

这对我来说很管用:

export var jQuery: any = window["jQuery"];

你可以通过扩展窗口接口来声明全局变量:

import jQuery from '@types/jquery';

declare global {
    interface Window {
        jQuery: typeof jQuery;
        $: typeof jQuery;
    }
}

来源:

https://stackoverflow.com/a/12709880/4642023 https://mariusschulz.com/blog/declaring-global-variables-in-typescript#augmenting-the-window-interface

就我而言,我必须这么做

npm install @types/jquery --save-dev // install jquery type as dev dependency so TS can compile properly
npm install jquery --save // save jquery as a dependency

然后在脚本文件A.ts

import * as $ from "jquery";
... jquery code ...