Jimp: ошибка обработки изображения при использовании модуля - PullRequest
0 голосов
/ 31 мая 2018

Я не могу использовать Jimp .

установлено: npm install --save jimp // OK

импортировано: import * as Jimp from 'jimp'; // OK

использование Jimp.read(someImage) // сбой с ошибкой

Uncaught (in promise): Error: Node's Buffer() not available

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Получите ошибку компилятора при выполнении import * as Jimp from 'jimp';.Оказывается, в Jimp файле @type используется export = синтаксис , поэтому необходимо импортировать, как показано ниже:

import Jimp = require ('jimp');

0 голосов
/ 31 мая 2018

Это серьезное изменение в Jimp 0.2.28, и текущим решением является возврат к 0.2.27.Однако, как вы отметили в комментариях, import не будет работать для Jimp@0.2.27 для TypeScript.

Похоже, что с TypeScript, require и import выполняют две разные вещи.Таким образом, для import вам необходим файл декларации, объявляющий модуль, чтобы он мог определить, что это за модуль во время компиляции.Если у вас его нет, TypeScript не сможет решить его вообще.require происходит во время выполнения, поэтому TypeScript не задействован (и у вас не будет информации о типах с require d модулями).

Этот ответ объясняет это лучше, чем я мог.

Похоже, что Jimp 0.2.27 не определяет файл .d.ts, а 0.2.28.Я не уверен, почему они включили так много изменений в один патч.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...