Gulp包重构命令文档
2021-10-20 10:33:19 0 举报
AI智能生成
Gulp包重构命令文档
作者其他创作
大纲/内容
使用说明
用于深度模板化复刻迁移已有的组件或视图包
与简单的复制粘贴不同之处:该命令会根据输入改造包下所有文件的基础信息内容以及包名
使用了基于原来的gulp构建命令(即现组件库配有的gulp component和gulp view任务进程)
版本信息
版本号:1.0.0-dev
修订日期:2021-06-26
修改人/审核人:詹俊雄
修改历史内容:基于gulp改造构建命令
背景简介
用户需求:最初原于梦梦同学在珠珠充项目中提出的一个需求,即某些包的代码复用率比较高,但是由于yarn c和yarn v(即gulp component和view的任务进程)的限制无法把这些复用率高的代码片段拷贝到需要的新建包中,因为每次新建的包全都是基于一个模板下生成的,故想要把复用率高的代码套现到新包文件里头就需要做大量的copy/paste工作,操作起来极其不方便。
yarn rc的特色:用于解决yarn c和yarn v(即gulp component和view的任务进程)的限制弊端,使得以往基于yarn c和yarn v所创建的包都具有模板生成的能力,而不仅限制于固有的tpl模板生成新包与文件。
gulp rebuild默认被定制为yarn rc操作命令,即此处所讲的yarn rc即指重构的gulp rebuild任务进程
配置说明
配置前提:当前项目的框架中已经可以正常使用yarn c和yarn v命令(即gulp component和gulp view这两个任务进程可以正常启动)
导入gulp-rebuild,地址:\\10.0.110.66\share\01-软件部\9999-培训相关\04-2021前端软件包\gulp-rebuild(将地址中的文件夹分别是common,task和work分别导入到当前项目框架中的gulp包下即可)
gulp rebuild任务进程导出设置:打开当前项目框架中的gulpfile.js文件,添加两行代码,分别是:require('./gulp/task/rebuildComp.task')();和require('./gulp/task/rebuildView.task')();
配置yarn rc操作命令:打开当前项目框架中的package.json文件,在script片段下分别添加"rc": "gulp rebuildComp --options"和"rv": "gulp rebuildView --options"
操作命令说明
如果当前项目框架的component包下有一个名为aaa的包需要做为模板复用到新包中时
可使用命令:yarn rc aaa:新包名 --save(其中--save代表以aaa包作为新生成包的模板创建,yarn rv命令同理)
如果当前项目框架的component包下有一个名为bbb的包,需要作为模板复用到新包后再删除该bbb的包时
可使用命令:yarn rc bbb:新包名(没有加--save即代表以bbb作为模板包生成新包后,bbb包将会被删除,yarn rv命令同理)
如果当前项目框架的component包下有一个aaa包而aaa包下还有一个名为bbb的包,而bbb包才是需要作为模板复用到aaa包下创建新的包时
可使用命令:yarn rc aaa/bbb:aaa/新包名 --save (执行完成后会在aaa包下生成一个以bbb包为模板的新包内容,yarn rv命令同理)
如果当前项目框架的component包下有一个aaa包而aaa包下还有一个名为bbb的包,而bbb包才是作为模板复用到与component同级的common包下而创建新的包时
可使用命令:yarn rc aaa/bbb:../common/新包名 --save (执行完成后与component包同级的common包下会生成一个以bbb包为模板的新包内容,yarn rv命令同理)
最终说明:yarn rc命令是基于当前项目框架中的commponent包为开始的路径来导航寻找,而yarn rv命令是基于当前项目框架中的view包为开始的路径来导航寻找,后缀--save(注意前面有一个空格)是用来命令任务进程是否保留原指定的模板包是否保留,不添加则为不保留即创建新包后原包会被删除
后期任务
继续升级gulp rebuild的功能:使其能够支持含有多个子项目框架中的一处导入多处使用目的(该功能需求点主要出现在了婷姐那边的集成项目框架中)从而免去修改源码才能达到一处导入多处使用的目的
继续升级gulp rebuild的后缀扩展功能:例如新建包时可能会遇到当前创建的目录下已有该包从而导致无法再创建的问题,可以添加--force功能代表强制创建即将同目录下的已存在的同名包删除功能,还可以添加--merge功能代表创建的新包和同目录下的已存在的同名包进行深度合并功能等
后期版本拟定为1.1.0-dev
收藏
收藏
0 条评论
下一页