无法构建项目:TypeError:imagemin.gifsicle不是函数

时间:2018-01-12 10:15:57

标签: javascript gulp

我已安装gulp-imagemin插件并使用以下设置设置任务:

const gulp = require('gulp');
const imagemin = require('gulp-imagemin');

gulp.task('default', () =>
    gulp.src('src/images/*')
        .pipe(imagemin([
    imagemin.gifsicle({interlaced: true}),
    imagemin.jpegtran({progressive: true}),
    imagemin.optipng({optimizationLevel: 5}),
    imagemin.svgo({
        plugins: [
            {removeViewBox: true},
            {cleanupIDs: false}
        ]
    })
]))
        .pipe(gulp.dest('dist/images'))
);

在构建期间,我收到以下消息:TypeError: imagemin.gifsicle is not a function。有谁知道为什么会这样?我错过了依赖吗?

由于

1 个答案:

答案 0 :(得分:1)

要手动安装,我会尝试在主要的package.json中添加它们,在依赖项(或devDependencies)下,并在js文件中使用它,如:

const imageminGifsicle = require('imagemin-gifsicle');

gulp.task('default', () =>
    gulp.src('src/images/*')
        .pipe(imagemin([
    imageminGifsicle({interlaced: true}),

上一篇文章:

看起来是的,缺少一些依赖项。从gulp-imagemin package.json文件中我们可以看到这些依赖项嵌套在optionalDependencies下:

"optionalDependencies": {
  "imagemin-gifsicle": "^5.2.0",
  "imagemin-jpegtran": "^5.0.2",
  "imagemin-optipng": "^5.2.1",
  "imagemin-svgo": "^6.0.0"
}

如果这些插件安装失败,则不会阻止安装gulp-imagemin。所以首先尝试转到package.json所在的gulp-imagemin文件夹并运行npm install

如果这不能解决您的问题,您可以尝试手动安装这些插件 - npm install imagemin-gifsicle