首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lossyPNG ImageMin.pngquant不是一个函数

lossyPNG ImageMin.pngquant不是一个函数
EN

Stack Overflow用户
提问于 2017-05-26 17:54:11
回答 1查看 157关注 0票数 1

我正在尝试启用烬-cli-imagmin附件中的烬-cli-imagmin属性来为我的.pngs创建一个小文件大小。My中的EmberApp包含了图像,如下所示:

代码语言:javascript
复制
imagemin: {
  interlaced: true,
  optimizationLevel: 3,
  progressive: true,
  lossyPNG: true,
  pngquant: {
    speed: 1,
    quality: 80
  }
}

我的package.json中的依赖项对象包括:

代码语言:javascript
复制
{ ...
  "ember-cli-imagemin": "0.4.0",
  "imagemin": "3.2.2",
  "imagemin-pngquant": "4.2.2",
  ...
}

但是,每当我运行ember时,我都会得到以下错误:

代码语言:javascript
复制
The Broccoli Plugin: [object Object] failed with:
TypeError: ImageMin.pngquant is not a function

这个错误指向了这个西兰花中的线--意象素。如果我将lossyPNG设置为false -cli-build.js,那么我不会收到任何错误,但是可以根据分页的结果进一步优化我的pngs。我缺少什么可以使用pngquant来进一步优化我的png映像?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-31 02:35:42

西兰花-意象素 ( 成员-cli-图像所依赖的)是问题所在。因为它自2014年11月以来就没有更新过,所以它使用了一个旧版本的imagemin,但是package.json规范允许Imageminv3.x。pngquant在Imageminv3.2.0中为作为默认属性删除。。因此,如果强制在package.json中安装Imageminv3.1.0,它应该可以工作。

如果您想使用最新版本的imagemin,请查看这个公关。我会尝试直接使用那支您可以直接从回购程序中安装该分支。,包括:

代码语言:javascript
复制
ember install https://github.com/kanongil/ember-cli-imagemin.git#v5-imagemin

这个分支改变了imagemin的工作方式。它看起来不是传递选项,而是传递您想要使用的插件,并将它们的选项直接传递给它们。

代码语言:javascript
复制
var app = new EmberApp({
  imagemin: {
    plugins: [
      require('imagemin-jpegtran')({ progressive: true }),
      require('imagemin-pngquant')({speed: 1, quality: 80}),
      require('imagemin-svgo')()
    ]
  }
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44207550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档