Skip to content

Instantly share code, notes, and snippets.

@oxUnd
Last active May 3, 2016 03:29
Show Gist options
  • Save oxUnd/2f9bd13ed2c8591d2a5f to your computer and use it in GitHub Desktop.
Save oxUnd/2f9bd13ed2c8591d2a5f to your computer and use it in GitHub Desktop.
fis3
fis.set('namespace', 'common');
//-- system settings
fis.set('server', {
'libs': 'pc',
});
fis.set('plugin less', {
sourceMap: true
});
fis.set('smarty', {
left_delimiter: '{%',
right_delimiter: '%}'
});
fis.match('/plugin/**.php', {
release: '$&'
});
fis.media('dev').set('domain', '');
fis.media('prod').set('domain', {
css: 'http://cdn.baidu.com/',
image: 'http://cdn.baidu.com/',
js: 'http://cdn.baidu.com/'
});
//-- map.json
fis.match('map.json', {
release: '$&'
});
//-- css like file
fis.match('**.(css|scss|less)', {
optimizer: fis.plugin('clean-css', fis.get('plugin clean-css')),
domain: fis.get('domain').css,
useHash: true
//release: '/static/${namespace}/$&'
});
fis.match('**.less', {
parser: fis.plugin('less'),
isCssLike: true,
ext: 'css'
});
fis.match('**.scss', {
parser: fis.plugin('scss'),
isCssLike: true,
ext: 'css'
});
fis.match('/widget/**.(css|scss|less)', {
release: '/static/${namespace}/$&'
});
fis.match('/static/(**.(css|scss|less))', {
release: '/static/${namespace}/$1'
});
//-- js like file
fis.match('**.js', {
optimizer: fis.plugin('uglify-js')
domain: fis.get('domain').js,
useHash: true
});
fis.match('/widget/**.js', {
postprocessor: fis.plugin('jswrapper'), //isMod
release: '/static/${namespace}/$&'
});
fis.match('/static/(**.js)', {
release: '/static/${namespace}/$1'
});
//-- html like file
fis.match('**.tpl', {
id: '$&',
useMap: true,
isHtmlLike: true,
optimizer: [fis.plugin('smarty-xss'), fis.plugin('html-compress')],
release: '/template/${namespace}/$&'
});
//-- image
fis.match('**.(png|gif|jpeg|jpg)', {
optimizer: fis.plugin('png-compressor'),
useHash: true,
release: '/static/$&'
});
//------
fis.media('dev').match('**', {
useOptimizer: false,
useHash: false
});
@oxUnd
Copy link
Author

oxUnd commented Mar 9, 2015

  • 常量后替换,这样用户就可以覆盖
  • 另外衍生出的一个问题,默认解决方案的配置文件是否给用户展示,其实在新配置下假设不展示也没啥关系。只是可能需要提供调试的方式。
  • 另外,虚拟文件如何被 fis.match 捕获,这个也需要斟酌,因为在编译半路产出文件的时候还蛮多的。

@zgp626
Copy link

zgp626 commented Mar 9, 2015

我觉得每个属性都支持underscore的result方法那样取值,如果是值就直接使用,如果是方法就执行使用返回值,这样有利于扩展性。

@oxUnd
Copy link
Author

oxUnd commented Mar 9, 2015

@zgp626 尽量会使这个东西没有什么晦涩之处。

@qdsang
Copy link

qdsang commented Mar 9, 2015

能直接内置全局变量的功能么? {{debug}}
css html js

@oxUnd
Copy link
Author

oxUnd commented Mar 11, 2015

@qdsang 都用到了哪些全局变量的标签?全局替换其实可以搞个插件就搞定了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment