我在努力

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

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


当前回答

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

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

其他回答

2019年更新:

大卫的回答更准确。

Typescript支持第三方供应商库,这些库不使用Typescript进行库开发,使用DefinitelyTyped Repo。


你需要在你的组件中声明jquery/$,如果这些类型的类型检查tsLint是On的。

如。

declare var jquery: any;
declare var $: any;

对于Visual Studio代码

对我来说有用的是确保我通过index.html中的< script >标记来加载标准的JQuery库。

Run

npm install --save @types/jquery

现在JQuery $函数在所有.ts文件中都可用,不需要任何其他导入。

我相信你可能需要JQuery的Typescript类型。既然你说你使用Visual Studio,你可以使用Nuget来获取它们。

https://www.nuget.org/packages/jquery.TypeScript.DefinitelyTyped/

Nuget Package Manager Console中的命令为

Install-Package jquery.TypeScript.DefinitelyTyped

更新:正如评论中提到的,这个包自2016年以来就没有更新过。但你仍然可以访问他们的Github页面https://github.com/DefinitelyTyped/DefinitelyTyped并下载这些类型。导航到库的文件夹,然后在那里下载index.d.ts文件。弹出它在你的项目目录的任何地方,VS应该立即使用它。

步骤1。 我使用的是yarn,你可以安装jQuery & jQuery的类型下面的cmd。

yarn add jquery
yarn add @types/jquery -D

步骤2 在你的tsx文件中添加

import jquery from 'jquery';
const $: JQueryStatic = jquery;

步骤3: 你可以把jQuery添加到react组件中。

useEffect(() => {  
  $(() => {
    console.log("Hello JQuery!");
  });
}, []);

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

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