我已安装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
。有谁知道为什么会这样?我错过了依赖吗?
由于
答案 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
。