Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allInOne配置导致?__sprite雪碧图合并失效 #64

Open
luozt opened this issue Jul 23, 2016 · 1 comment
Open

allInOne配置导致?__sprite雪碧图合并失效 #64

luozt opened this issue Jul 23, 2016 · 1 comment

Comments

@luozt
Copy link

luozt commented Jul 23, 2016

以下我做了一个demo,当启用fis loader的allInOne配置时,雪碧图配置就失效了,引用的还是原图;当注销掉allInOne配置后,雪碧图才生效,生成index_z的雪碧图了:

fis
  .match("::package", {
    postpackager: [
      fis.plugin('loader', {
        allInOne: true // 加上这句就无法进行雪碧合并
      })
    ]
  })

是否上述配置影响到雪碧图的打包功能,还是受到其他配置的影响?但以上的控制变量法演示结果来看,是这个配置导致的。

具体可以查看我做好的对比项目:public-static

@xing240
Copy link

xing240 commented Sep 6, 2016

同时使用 fis-spriter-csssprites 、fis3-postpackager-loader 、fis3-hook-relative 这三个插件时,会导致 fis-spriter-csssprites 的修改无效。

  • csssprites 插件只会修改 css 文件的 content ,而不会修改 relativeBody;
  • loader 插件在 lib/pack.js 中触发了 relative 插件的 onPackFile 方法,因而打包合并时使用的是 css 文件的 relativeBody 而不是 content,导致 csssprites 插件对 css 文件做的修改无效。
lib/pack.js
// 派送事件
var message = {
  file: file,
  content: file.getContent(),
  pkg: pkg
};
fis.emit('pack:file', message);

@2betop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants