2016-10-15 3 views
0

Ich führe den folgenden Code in meinem Projekt node.js. Ich habe "imagemin" und "imageminGifsicle" benötigt. Ich habe folgende Fehlermeldungdann ist keine Funktion

}).then(files => { ^ TypeError: imagemin(...).then is not a function

Habe ich keine Versprechen in meinen Projekten verwendet. Muss ich sie einschließen, um zu verwenden. Dann?

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; 
}); 
+0

lesen Wie Sie imagemin installiert haben? Es hängt von "promise.pipe" ab und sollte die Verkettung basierend auf seinen Dokumenten unterstützen. –

Antwort

0

Nun, ja- Sie die Bibliothek wählen, die Sie für Versprechungen bevorzugen, und verwenden „dann“ Funktion mit Versprechungen. In diesem Fall Sie imagemin verwenden:

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

imagemin on GitHub

Für Promises verwenden, können Sie einige der Spezifikationen und Informationen über MDN und here on stackoverflow