0.0.10 • Published 8 years ago
y-workflow v0.0.10
y-workflow
让前端工程更简单
安装
全局安装
npm install -g y-workflow局部安装
npm install --save-dev y-workflow使用
命令行用法
y-workflow run [task] [--config other-dir/y-workflow.config.js]JS用法
const yWorkflow = require('y-workflow');
// 注册 tasks
yWorkflow({
tasks: [],
});
// 注册 tasks 并运行 task
yWorkflow.run('dev', {
config: 'y-workflow.config.js',
});配置
命令行参数 / run方法第二个参数
config配置文件路径,默认当前目录下的y-workflow.config.js文件
y-workflow.config.js 配置
tasks任务集合,每一个任务必须有$lib对应到 lib 目录下的一个文件,其它部分就是传给对用 lib 的配置
lib 通用配置
taskName任务名称,默认为lib名字src待处理文件dest处理后存放目录watch是否监听,启用监听之后会额外增加{taskName}:watch任务,会先执行一次{taskName}任务,然后监听{src}再执行{taskName}任务taskHandler任务执行方法,原有的逻辑不满足要求的时候覆盖用的
clean lib 配置
delOptions传给 del 的配置
cmdify lib 配置
urify传给 gulp-urify 的配置cmdify传给 gulp-cmdify 的配置manifestgulp-cmdify 的manifest文件路径,默认值为dest加上cmdify-manifest.json
cmdifyReplace lib 配置
cmdifyReplacegulp-cmdify-replace 的配置
combo lib 配置
combogulp-combo 的配置
copy lib 配置
copyOptions传给 gulp.src 的配置
cssUrlAbsify lib 配置
cssUrlAbsifygulp-css-url-absify 的配置
ejs lib 配置
changedDeps传给 gulp-changed-deps 的配置,默认值为{ syntax: 'ejs' }ejs传给 gulp-ejs 的配置urify传给 gulp-urify 的配置,可以通过数组形式传多个
eslint lib 配置
eslint传给 gulp-eslint 的配置eslintFormatter传给 eslint.format 的配置,默认值为require.resolve('eslint-friendly-formatter')
fontMin lib 配置
fontMin传给 gulp-fontmin 的配置textFile传给 fontmin.text 文件路径
imgMin lib 配置
imagemin传给 gulp-imagemin 的配置,默认值为[imagemin.gifsicle({ interlaced: true }), imagemin.jpegtran({ progressive: true }), imagemin.optipng({ optimizationLevel: 2 }), imagemin.svgo()]
imgSprite lib 配置
responsive传给 gulp-responsive 的配置,默认值为{'**/*': [{min: true, width: '50%'}, {min: true, rename: { suffix: '@2x' }}]}spritesmith传给 gulp.spritesmith 的配置,默认值为{ imgName: 'img-sprite.png', cssName: 'img-sprite.css', padding: 4, retinaSrcFilter: '**/*@2x.png', retinaImgName: 'img-sprite@2x.png' }cssUrlAbsifygulp-css-url-absify 的配置
multiple lib 配置
srcDirs多个任务的src的目录,每一个srcDir生成一个任务,srcDir相对glob base得到每一个 task 的namesrcFilessrc目录下需要处理的文件destDir处理后存放目录,每一个子任务补上name得到最终的处理后存放目录lib实际任务 liblibOptionslib 的配置,如果为方法,则会传入name
nunjucks lib 配置
changedDeps传给 gulp-changed-deps 的配置,默认值为{ syntax: 'nunjucks', base: true }nunjucks传给 gulp-nunjucks 的配置urify传给 gulp-urify 的配置,可以通过数组形式传多个
rev lib 配置
manifestgulp-rev 的manifest文件路径,默认值为dest加上rev-manifest.jsonrevReplacegulp-rev-replace 配置,如果传则表示rev之前会先进行一次revReplacerevAllgulp-rev-all 配置,如果传值就表示要分析依赖
revReplace lib 配置
manifestgulp-rev-replace 的manifest文件路径,默认值为dest加上rev-manifest.jsonrevReplace传给 gulp-rev-replace 配置
sass lib 配置
sass传给 gulp-sass 的配置sourcemapsgulp-sourcemaps write方法的配置urify传给 gulp-urify 的配置
sequence lib 配置
tasksrun-sequence 的参数
svgSprite lib 配置
svgmin传给 gulp-svgmin 配置,默认值为{ plugins: [{ removeAttrs: { attrs: '(fill|fill-rule)' } }, { removeTitle: true }] }svgstore传给 gulp-svgstore 配置,默认值为{ inlineSvg: true }spritedFilename合并之后的文件名,如果后缀名为.js则需要调用 gulp-svg-jsify 进行转换,默认值为svg-sprite.js
urify lib 配置
urify传给 gulp-urify 的配置
测试
测试 lib
# urify 可以换成其它任何 lib
npm test lib urify测试 example
# basic 可以换成其它 example, dev 可以换成其它 task
npm test example basic:dev