Тогда это не функция

Я запускаю следующий код в моем проекте node.js. Я потребовал "imagemin" и "imageminGifsicle". Я получаю следующую ошибку

}).then(files => { ^ TypeError: imagemin(...).then не является функцией

Разве я не использовал обещания в своих проектах раньше. Нужно ли включать их, чтобы использовать.then?

imagemin(['export/sample/out.gif'], 'export/sample/out2.gif', {
 plugins: [
  imageminGifsicle({optimizationLevel: 1})
 ]
}).then(files => {
  console.log(files);
  console.log("finished");
}).catch(err => {
  console.log("ERR:"+err);
  throw err;
});

2 ответа

Решение

.then связано обещание и imagemin добавил это только на 5.0.0.

Какую версию вы используете?

Ну, да - вы можете выбрать библиотеку, которую вы предпочитаете для обещаний, и использовать функцию "затем" с обещаниями. В этом случае вы используете imagemin:

const imagemin = require('imagemin');
const imageminMozjpeg = require('imagemin-mozjpeg');
const imageminPngquant = require('imagemin-pngquant');

imagemin на GitHub

Для использования Promises вы можете прочитать некоторые спецификации и информацию о MDN и здесь о stackru

Другие вопросы по тегам