Last active
August 29, 2015 14:01
-
-
Save fouber/725bd528c7471632af65 to your computer and use it in GitHub Desktop.
fis core
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/******************************************* | |
* 实际使用展示,用户配置文件 fis-conf.js | |
*******************************************/ | |
//后缀映射 | |
fis.config.merge({ | |
roadmap : { | |
ext : { | |
coffee : 'js', | |
less : 'css', | |
styl : 'css', | |
md : 'html' | |
} | |
} | |
}); | |
//流程配置 | |
fis.config.merge({ | |
modules : { | |
parser : { | |
coffee : processCoffee, | |
less : processLess, | |
styl : processStylus, | |
md : processMarkdown | |
}, | |
optimizer : { | |
js : uglifyJS, | |
css : cleanCSS, | |
html : htmlMinifier | |
}, | |
postpackager : [ concatJS, concatCSS, insertHtml ] | |
} | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//fis的核心代码 | |
//获取所有源码文件 | |
var files = fis.getAllFiles(); | |
//加载用户配置 | |
require('./fis-conf.js'); | |
//准备构建结果集 | |
var ret = { | |
src : {}, | |
pkg : {} | |
}; | |
//遍历构建 | |
files.forEach(function(file){ | |
if(file.release){ | |
var ext = file.ext; | |
var rExt = roadmap.ext[ext] || ext; | |
if(file.cache()){ //判断构建缓存是否失效 | |
file.pipe(modules.parser[ext]) | |
.pipe(modules.preprocessor[rExt]) | |
.pipe(fis.standard) //处理三种语言能力 | |
.pipe(modules.postprocessor[rExt]) | |
.pipe(modules.lint[rExt]) | |
.pipe(modules.test[rExt]) | |
.pipe(modules.optimzier[rExt]) | |
.cache(); //建立构建缓存 | |
} | |
//收集 | |
ret.src[file.subpath] = file; | |
} | |
}); | |
//打包 | |
modules.prepackager(ret); | |
modules.packager(ret); | |
modules.spriter(ret); | |
modules.postpackager(ret); | |
//发布 | |
fis.deploy(ret.src); | |
fis.deploy(ret.pkg); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment