Это выражение не вызываемая ошибка при загрузке размера изображения через импорт

#typescript

#typescript

Вопрос:

Я пытаюсь использовать пакет npm размером с изображение для моего проекта typescript.

Проблема в том, что если я попытаюсь загрузить sizeOf через синтаксис импорта ( import sizeOf from 'image-size'; ), то следующий код завершается с ошибкой.

 src/image.ts:52:31 - error TS2349: This expression is not callable.
  Type 'typeof import("/node_modules/image-size/dist/index")' has no call signatures.

52       const dimension = await sizeOf(imageFileName);
  

С другой стороны, если я загружаю с require помощью like this ( const sizeOf = require('image-size'); ) , он работает без проблем.

Что может пойти не так с синтаксисом импорта?

Комментарии:

1. Похоже, что типы отсутствуют для image-size . Можете ли вы попробовать установить npm i --save-dev @types/image-size ?

2. Похоже, проблема с наборами image-size : в сгенерированных наборах не указано, что экспорт является функцией. Согласно исходному коду , функция экспортируется только module.exports = для обратной совместимости. Вы могли бы использовать import {imageSize as sizeOf} from 'image-size' вместо этого.