Описание плагина jQuery

126
18 января 2020, 08:00

На TypeScript делаю реализацию плагина

//plugin.js
import * as jQuery from 'jquery';
(function($: JQueryStatic) {
  $.extend({
    test: function(str: string) {
      alert(str);
    }
  });
})(jQuery);

Создаю декларацию этого плагина

// plugin.d.ts
interface JQueryStatic {
  test(str: string);
}

Как мне теперь эту декларацию проимпортировать в модуле?

Если пишу так

import * as $ from "./plugin";
$.test("AAA");

получаю ошибку

Property 'test' does not exist on type 'typeof import("D:/....../ts/plugin")'

Если так

import * as $ from "jquery";
$.test("AAA");

получаю ошибку

Property 'test' does not exist on type JQueryStatic

И еще вопрос: можно ли как-то использовать описания типов из plugin.d.ts в самом plugin.ts? Чтобы избежать ошибок повторного декларирования.

Answer 1

У меня все заработало, когда я первой строкой в месте использования добавил

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

Без всяких import

READ ALSO
Изменение html кода внутри jQuery

Изменение html кода внутри jQuery

Пытаюсь написать простую анкетуПри создании анкеты динамически добавляю вопросы, хочу сделать так чтобы можно было выбрать тип ответа: либо...

129
Как добавить поле процент в rangeSlider?

Как добавить поле процент в rangeSlider?

Создаю новое поле в rangeSlider но из за не знания "как это сделать" столкнулся с проблемой Вот попытка :

153
Создать DBF-файл из таблицы postgre

Создать DBF-файл из таблицы postgre

Всем привет! Нужна ваша помощьПроект над которым я работаю на

130
Как отобразить WPF контрол на панели задач Windows?

Как отобразить WPF контрол на панели задач Windows?

Есть приложение на WPF и появилась необходимость в подобного рода "виджете" на панели задач, как на скринах ниже

114