Appearance
为什么要分层?
合并困难:根据标准版复制出多个项目之后,常常会有新增的优化迭代需求,需要逐个项目合并标准版本和个性化版本差别会越来越大,甚至无法合并个性化需求和标准需求分不开
怎么分层?
将标准版和个性化需求分开管理,在编译时进行文件级别的组装,用个性化版本文件替换标准版文件,达到个性化目的。 个性化部分一般用于对UI层逻辑修改。遇到问题把握住一点,就是只做文件级别的替换新增,而且是按照目录结构替换新增。

项目结构说明

项目由3部分组成
从模板项目(feat/layer分支)派生出来的标准版项目,独立git,标准版逻辑写在investoday文件夹下cix在investoday文件夹下检出,独立gitxxzq为券商个性化部分逻辑,和investoday同级,该文件夹独立git
1、个性化版本如果有要修改标准版文件的,将标准版文件按照目录结构拷贝到该文件夹下修改
2、如果xxzq中有新增文件,按照项目规范在xxzq下创建,编译时同步新增到标准版下
3、如果新增页面记得将app.config.ts,也拷贝到xxzq下进行修改新增页面逻辑层hook层,命名为indexS.ts,将之前在indexT.ts里的业务逻辑写在indexS.ts,引入到indexT.ts中,一般情况下券商个性化版本就只需要修改indexT.ts和index.vue【xxzq原则】有修改再复制过来,无修改不复制
老项目迁移指引👉
1、新增investoday文件夹
INFO
在项目src下新建investoday文件夹将原来src下的所有文件拷贝到investoday下,包括cix,cix也在src下检出,完成项目目录如下图 
2、config下新增plugins
位置:模板项目feat/layer分支 config/plugins下的文件
INFO
模板项目feat/layer分支 config/plugin下的文件拷贝到项目中 
3、修改配置
修改config/index.js
BuildConfig,uploadCos变量添加investoday层级sourceRoot: 'src/investoday'给项目alias添加investoday层级
config/prod.js中引用BuildConfig的地方也要添加investoday层级
修改package.json
devDependencies中添加"chokidar": "^3.5.3"