【问题标题】:Use gulp imagemin optimizers in combination with gulp-load-plugins将 gulp imagemin 优化器与 gulp-load-plugins 结合使用
【发布时间】:2014-07-28 16:21:28
【问题描述】:

我正在使用 Gulp-load-plugins (https://github.com/jackfranklin/gulp-load-plugins) 自动加载我的所有插件。

如

// Load Gulp plugins
var plugins = require('gulp-load-plugins')();

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

// Imagemin
.pipe(plugins.imagemin({
    optimizationLevel: 3,
    progressive: true,
    svgoPlugins: [{
        removeViewBox: false
    }],
    interlaced: true,
    use: [plugins.svgo()]
}))

但我收到错误“TypeError: Object # has no method 'svgo'”。 在 imagemin 的文档中,它们分别需要优化器。 这可以与 grunt-load-plugins 模块结合使用吗?如果是这样,怎么做?

提前致谢。

【问题讨论】:

    标签: javascript gulp gulp-imagemin


    【解决方案1】:

    我认为你应该安装imagemin-svgo 插件来完成这项工作,因为它默认不包含在gulp-imagemin 中,就像README 的底线一样。

    使用npm安装它:

    npm install --save imagemin-svgo
    

    并且require 它在您的gulpfile 中,因为gulp-load-plugins 遵循gulp-* 模式并且不会加载它。并像以前一样在use options 中调用它。

    【讨论】:

    • 这确实有效。但是很奇怪,因为如果你下载 gulp-imagemin,imagemin-svgo 也会下载到 gulp-imagemin 的 node_modules 文件夹中。奇怪你还需要单独下载...
    • 只有当你想在你的gulpfile中使用它时,因为你不能访问你的一个模块的依赖关系,如果你做类似require('./node_modules/gulp-imagemin/node_modules/imagemin-svgo');的事情,这有点棘手
    猜你喜欢
    • 2015-04-06
    • 2017-07-04
    • 2016-01-28
    • 2018-04-20
    • 2015-01-29
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    相关资源
    最近更新 更多