Javascript 将gulp imagemin优化器与gulp加载插件结合使用

Javascript 将gulp imagemin优化器与gulp加载插件结合使用,javascript,gulp,gulp-imagemin,Javascript,Gulp,Gulp Imagemin,我正在使用Gulp load插件自动要求所有插件 如 现在要使用imagemin,我有以下设置 // Imagemin .pipe(plugins.imagemin({ optimizationLevel: 3, progressive: true, svgoPlugins: [{ removeViewBox: false }], interlaced: true, use: [plugins.svgo()] })) 但是我得到了

我正在使用Gulp load插件自动要求所有插件

现在要使用imagemin,我有以下设置

// Imagemin
.pipe(plugins.imagemin({
    optimizationLevel: 3,
    progressive: true,
    svgoPlugins: [{
        removeViewBox: false
    }],
    interlaced: true,
    use: [plugins.svgo()]
}))
但是我得到了错误TypeError:Object没有方法“svgo”。 在imagemin的文档中,它们需要单独的优化程序。 这是否可以与grunt加载插件模块结合使用?如果是,怎么做


提前感谢。

我认为您应该安装插件来完成这项工作,因为默认情况下,它不会像在本文档的底线中那样包含在吞咽imagemin中

使用npm安装它:


并且在gulpfile中需要它,因为gulp加载插件遵循gulp-*模式,不会加载它。并像以前一样在使用选项中调用它。

这确实有效。但这很奇怪,因为如果下载gulp imagemin,imagemin svgo也会下载到gulp imagemin的node_modules文件夹中。奇怪的是,您还需要单独下载它……这只是在您希望在gulpfile中使用它的情况下,因为您无法访问其中一个模块的依赖项,除非您执行诸如require./node_modules/gulp imagemin/node_modules/imagemin svgo之类的操作;这有点棘手
// Imagemin
.pipe(plugins.imagemin({
    optimizationLevel: 3,
    progressive: true,
    svgoPlugins: [{
        removeViewBox: false
    }],
    interlaced: true,
    use: [plugins.svgo()]
}))
npm install --save imagemin-svgo