استفاده از jQuery با تایپاسکریپت


من تازه کار با این هستم، پس با من مدارا کنید. کاری که دارم سعی میکنم انجام دهم این است که jQuery را در یک فایل کد Typescript فعال کنم.

چطور باید به کد .d.ts ارجاع دهم؟

من موارد زیر را امتحان کردهام:

import * as $ from "jquery";

این به من خطا میدهد: «'jquery' به یک موجودیت غیرماژول حل میشود و نمیتوان آن را با این ساختار وارد کرد»

سپس من امتحان کردم:

import $ = require("jquery");

این خطا را ایجاد میکند: اختصاص واردات نمیتواند زمانی که هدف قرار دادن ماژولهای EcmaScript 2015 است استفاده شود

چطور باید این کار را انجام دهم تا توابع jQuery در کد تایپاسکریپتم کار کنند؟ آیا راههای دیگری هم وجود دارد؟

من از تایپاسکریپت ۲.۵.۲، سیستم ماژول ES2015، EcmaScript 6 و @types/jquery استفاده میکنم.

ویرایش

من تلاش کردم import * as $ from "../wwwroot/lib/jQuery/dist/jquery.min.js"؛ الان به من خطا میدهد «... حل شده است ... اما --allowJs تنظیم نشده است»، من هنوز فایل tsconfig.json ندارم، احتمالاً برای دستور --allowJs به آن نیاز دارم، درست است؟

پاسخ شماره ۱

یک مرجع به فایل تعریف Typescript در بالای فایل اضافه کنید.

/// <reference path ="jquery.d.ts"/> 

به جای

import * as $ from "jquery";

بر اساس ویکی DefinitelyTyped:

یک فایل اعلان TypeScript روشی برای تعریف نوعها، توابع و پارامترها در یک کتابخانه جاوااسکریپت خارجی است. استفاده از یک فایل اعلان در کد TypeScript شما، Intellisense و بررسی نوعها را در برابر کتابخانه خارجی که استفاده میکنید فعال میکند.

فایل jquery.d.ts بخشی از کتابخانه DefinitelyTyped است که در گیتهاب یافت میشود و همچنین میتوانید آن را از طریق npm نصب کنید.

پاسخ شماره ۲

من نمیدانم آیا این یک "روش درست" برای انجام کارها است یا نه، اما من از خط زیر در پروژه تایپاسکریپت خود برای استفاده از جیکوئری استفاده میکنم.

const jquery = require('jquery');
// and then later in your class
jquery('.someclass').show();