노력하고 있습니다
$(function(){
alert('Hello');
});
Visual Studio에서이 오류를 표시합니다 (TS) Cannot find name '$'.
. TypeScript와 함께 jQuery를 어떻게 사용할 수 있습니까?
답변
프로젝트 에 jQuery 용 TypeScript 선언 파일 을 다운로드하여 포함시켜야 할 가능성이 높습니다 jquery.d.ts
.
옵션 1 : @types 패키지 설치 (TS 2.0 이상 권장)
package.json 파일 과 동일한 폴더 에서 다음 명령을 실행하십시오.
npm install --save-dev @types/jquery
그런 다음 컴파일러는 jquery에 대한 정의를 자동으로 해결합니다.
옵션 2 : 수동 다운로드 (권장하지 않음)
옵션 3 : 타이핑 사용 (Pre TS 2.0)
타이핑 을 사용하는 경우 다음과 같이 입력 할 수 있습니다.
// 1. Install typings
npm install typings -g
// 2. Download jquery.d.ts (run this command in the root dir of your project)
typings install dt~jquery --global --save
정의 파일을 설정 한 후 $
원하는 TypeScript 파일에서 별칭 ( )을 가져와 평소처럼 사용하십시오.
import $ from "jquery";
// or
import $ = require("jquery");
당신은 컴파일해야 할 수도 있습니다 --allowSyntheticDefaultImports
-add "allowSyntheticDefaultImports": true
에서 tsconfig.json .
패키지를 설치 하시겠습니까?
jquery가 설치되어 있지 않은 경우 npm을 통해 종속성으로 설치하려고 할 수 있습니다 (그러나 항상 그런 것은 아닙니다).
npm install --save jquery
답변
내 경우에는 이것을해야했다.
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 ...
답변
을위한 비주얼 스튜디오 코드
나를 위해 작동하는 것은 index.html 의 <script> 태그 를 통해 표준 JQuery 라이브러리 로딩을 수행하는 것 입니다.
운영
npm install --save @types/jquery
이제 JQuery $ 함수는 다른 가져 오기없이 모든 .ts 파일에서 사용할 수 있습니다.
답변
JQuery에 Typescript 유형이 필요할 수 있다고 생각합니다. Visual Studio를 사용한다고 말했기 때문에 Nuget을 사용하여 얻을 수 있습니다.
https://www.nuget.org/packages/jquery.TypeScript.DefinitelyTyped/
Nuget 패키지 관리자 콘솔의 명령은
Install-Package jquery.TypeScript.DefinitelyTyped
업데이트 : 의견에서 언급 했듯이이 패키지는 2016 년 이후 업데이트되지 않았습니다.하지만 https://github.com/DefinitelyTyped/DefinitelyTyped 의 Github 페이지를 방문 하여 유형을 다운로드 할 수 있습니다. 라이브러리의 폴더를 탐색 한 다음 index.d.ts
파일 을 다운로드하십시오 . 프로젝트 디렉토리의 아무 곳이나 팝업하면 VS가 즉시 사용해야합니다.
답변
Angular CLI V7의 경우
npm install jquery --save
npm install @types/jquery --save
jquery에 angular.json-> 스크립트에 항목이 있는지 확인하십시오.
...
"scripts": [
"node_modules/jquery/dist/jquery.min.js"
]
...
tsconfig.app.json으로 이동하여 “types”에 항목을 추가하십시오.
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"types": ["jquery","bootstrap","signalr"]
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}
답변
2019 업데이트 :
David의 답변 이 더 정확합니다.
Typescript는 DefinitelyTyped Repo를 사용하여 라이브러리 개발에 Typescript를 사용하지 않는 타사 공급 업체 라이브러리를 지원합니다 .
이러한 유형의 유형 검사에 대해 tsLint가 켜져 있으면 구성 요소에서 jquery
/ 를 선언해야합니다 $
.
예를 들어.
declare var jquery: any;
declare var $: any;
답변
웹 애플리케이션 (예 : React)에서 jquery를 사용하고 jquery가 이미로드 된 경우 <script src="jquery-3.3.1.js"...
웹 페이지에서 다음을 수행 할 수 있습니다.
npm install --save-dev @types/query
and the use it with:
let $: JQueryStatic = (window as any)["jQuery"];
따라서 jquery를 두 번째로로드 할 필요는 없지만 npm install --save jquery
Typescript의 모든 장점을 갖습니다.