0.0.10 • Published 6 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 的配置manifest
gulp-cmdify 的manifest
文件路径,默认值为dest
加上cmdify-manifest.json
cmdifyReplace lib 配置
cmdifyReplace
gulp-cmdify-replace 的配置
combo lib 配置
combo
gulp-combo 的配置
copy lib 配置
copyOptions
传给 gulp.src 的配置
cssUrlAbsify lib 配置
cssUrlAbsify
gulp-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' }
cssUrlAbsify
gulp-css-url-absify 的配置
multiple lib 配置
srcDirs
多个任务的src
的目录,每一个srcDir
生成一个任务,srcDir
相对glob base
得到每一个 task 的name
srcFiles
src
目录下需要处理的文件destDir
处理后存放目录,每一个子任务补上name
得到最终的处理后存放目录
lib
实际任务 liblibOptions
lib 的配置,如果为方法,则会传入name
nunjucks lib 配置
changedDeps
传给 gulp-changed-deps 的配置,默认值为{ syntax: 'nunjucks', base: true }
nunjucks
传给 gulp-nunjucks 的配置urify
传给 gulp-urify 的配置,可以通过数组形式传多个
rev lib 配置
manifest
gulp-rev 的manifest
文件路径,默认值为dest
加上rev-manifest.json
revReplace
gulp-rev-replace 配置,如果传则表示rev
之前会先进行一次revReplace
revAll
gulp-rev-all 配置,如果传值就表示要分析依赖
revReplace lib 配置
manifest
gulp-rev-replace 的manifest
文件路径,默认值为dest
加上rev-manifest.json
revReplace
传给 gulp-rev-replace 配置
sass lib 配置
sass
传给 gulp-sass 的配置sourcemaps
gulp-sourcemaps write方法的配置urify
传给 gulp-urify 的配置
sequence lib 配置
tasks
run-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