fis-conf.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. var version = 'v3.1'
  2. // var version = 'debug'
  3. /*设置编译范围*/
  4. fis.set('project.files', ['frontend/**']);
  5. /*设置发布路径*/
  6. fis.match(/^\/frontend\/(.*)/i, {
  7. release: version + '/$1',
  8. url: version + '/$1'
  9. });
  10. /*Sprite背景图移到staticPub/images*/
  11. fis.match(/^\/frontend\/(.*\.png)/i,{
  12. url: version + '/images/sprite/$1',
  13. release: version + '/images/sprite/$1',
  14. useOptimizer : false
  15. });
  16. /*js、css、图片文件版本控制,采用md5格式*/
  17. fis.match('*.{js,css,png,jpg,gif,swf}', {
  18. useHash: true
  19. });
  20. /*启用 fis-spriter-csssprites 插件*/
  21. fis.match('::package', {
  22. spriter: fis.plugin('csssprites',{
  23. layout: 'matrix',
  24. margin: 20,
  25. htmlUseSprite: true,/*开启模板内联css处理*/
  26. styleReg: /(<style(?:(?=\s)[\s\S]*?["'\s\w\/\-]>|>))([\s\S]*?)(<\/style\s*>|$)/ig
  27. }),
  28. postpackager: fis.plugin('loader', {
  29. allInOne: true
  30. })
  31. });
  32. /*对CSS中的图片进行合并,包括html中的内联样式*/
  33. fis.match('*.{css,html,tpl}', {
  34. useSprite: true,
  35. });
  36. /*js压缩*/
  37. fis.match('*.js', {
  38. optimizer: fis.plugin('uglify-js',{
  39. mangle: {
  40. except: 'exports, module, require, define'
  41. }
  42. })
  43. });
  44. /*css压缩*/
  45. fis.match('*.css', {
  46. optimizer: fis.plugin('clean-css')
  47. });
  48. /*特殊目录不加MD5戳*/
  49. fis.match(/^\/frontend\/img\/achievement\/(.*\.png)/i,{
  50. useHash: false
  51. });
  52. /*图片文件域名配置*/
  53. fis.media('dev').match('*.{jpg,png,jpeg,gif,css,js}', {
  54. domain: '../../',
  55. });
  56. fis.media('prod').match('*.{jpg,png,jpeg,gif,css,js}', {
  57. domain: 'http://lolbox.duowan.com/staticPub/',
  58. });