Я пытаюсь использовать библиотеку element-resize-detector (https://github.com/wnr/element-resize-detector) в приложении Angular2.
Судя по моим ограниченным знаниям модуля JS, библиотека имеет формат CommonJS. После нескольких попыток я создал следующий файл определения (*.d.ts):
declare module ResizeDetector {
function ResizeDetector(options: any): ResizeDetector.Erd;
interface Erd {
listenTo(element: any, resizeCallback: any): void;
uninstall(element: any): void;
}
}
export = ResizeDetector;
Затем я использую следующий оператор импорта в своем коде TypeScript:
import * as ResizeDetector from 'element-resize-detector';
При запуске моего приложения и использовании console.log('ResizeDetector', ResizeDetector)
регистрируется следующий вывод:
ResizeDetector function (options) {
options = options || {};
//idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.
var idHandler;
if (options.…
Это показывает мне, что библиотека успешно загружена и возвращает ожидаемую функцию.
Мой вопрос: как я могу теперь начать использовать библиотеку в TypeScript? Когда я пытаюсь что-то вроде:
private static resizeDetector = ResizeDetector({ strategy: 'scroll' });
Я получаю следующую ошибку переноса:
error TS2349: Cannot invoke an expression whose type lacks a call signature.