fex-team / fis-spriter-csssprites

csssprite
88 stars 37 forks source link

图片合并后,原图能不能通过配置参数不进行release #42

Open ystrdy opened 8 years ago

ystrdy commented 8 years ago

比如说,在index页中有两个图标icon1.png,icon2.png进行合并后会release出3张图片,icon1.png,icon2.png,index_z.png,插件有没有配置参数不让icon1.png和icon2.png生成?

或者,有没办法知道哪些图片进行了合并,我在deploy阶段给删除掉也行?

oxUnd commented 8 years ago

没有此选项

其实绝大多数图片经过合并后不再进行单个图片的引用,但考虑到有可能某图片用

<img src=''>

但它也被合并到了某一个图片中,如果删掉不产出这个图片,可能会导致不必要的麻烦。理论上来说,可以通过 packager 阶段的插件来做一次 filter 能实现你不想让某些图片产出的功能。

如果急需(实在看着那些小图片不爽)可以参考相关插件来弄一个 filter 的插件,来满足需求;

ystrdy commented 8 years ago

在packager的阶段我怎么才能知道哪些图片被合并了呢?

oxUnd commented 8 years ago

@ystrdy 这个简单啊,你可以适当的在 roadmap.path (fis)中或者 match (fis3) 中设定一个私有的属性,这个属性会一直携带在这个文件的文件对象上。

比如

// fis3
fis.match('/static/**icon.png', {
  willPack: true
});

你判断文件对象的 willPack 就可以了。

另外一种方法是,直接提供插件配置,可以配置正则或者其他什么形式,来做到 filter 的功效。

ystrdy commented 8 years ago

也就是说,把需要合并的图片放到一个文件夹中,并对其中的图片加标记。把不需要合并的图片放到另一个文件夹中,不加标记。然后在packager阶段把有标记的图片给删除掉?

oxUnd commented 8 years ago

@ystrdy 差不多这个意思,不过如果是 fis3 的话应该有个插件,你可以找找,但这个插件是否处理了图片,我没细看~

ystrdy commented 8 years ago

@xiangshouding 明白了,谢谢,晚点我去试试。

mudoo commented 8 years ago

@ystrdy https://github.com/fex-team/fis3-deploy-skip-packed 据说能过滤掉不release,但是我不知是配置错误还是用法不对..没成功...