[发明专利]一种项目与产品同步迭代升级方法在审
| 申请号: | 202110995847.8 | 申请日: | 2021-08-27 |
| 公开(公告)号: | CN113741935A | 公开(公告)日: | 2021-12-03 |
| 发明(设计)人: | 王建明 | 申请(专利权)人: | 的卢技术有限公司 |
| 主分类号: | G06F8/65 | 分类号: | G06F8/65 |
| 代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210001 江苏省南京市南京经*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 项目 产品 同步 升级 方法 | ||
本发明公开了一种项目与产品同步迭代升级方法,所述方法利用npm的模块包依赖管理,降低产品与项目业务模块耦合性,研发JS编译插件,使得项目可以在不修改产品源码的基础下,修改、删除产品原有功能,以及增加项目定制功能,达到项目与产品之间无损的迭代升级。本发明具有如下优点:利用npm包管理机制建立项目、产品模块依赖关系;利用webpack插件、AST技术改变产品代码编译结果,调整项目中模块加载逻辑;解耦项目模块与产品模块之前的是复杂关系,达到无损的迭代升级的要求。
技术领域
本发明涉及web软件系统,特别是一种项目与产品同步迭代升级方法。
背景技术
目前web软件系统商业模式主要有两种,一种SaaS服务方式,一处部署多处使用;另一种针对客户私有部署,定制客户专属应用。在私有部署模式中,客户存在如下需求:增加新功能、调整原功能、随产品同步迭代升级。传统软件系统的迭代模式无法同时满足这三种需求,升级过程中必然会出现代码冲突,功能紊乱。
发明内容
发明目的:本发明的目的是提供一种项目与产品同步迭代升级方法,从而解决软件迭代升级冲突问题。
技术方案:本发明所述的一种项目与产品同步迭代升级方法,所述方法利用npm的模块包依赖管理,降低产品与项目业务模块耦合性,研发JS编译插件,使得项目可以在不修改产品源码的基础下,修改、删除产品原有功能,以及增加项目定制功能,达到项目与产品之间无损的迭代升级。所述方法包括以下步骤:
S1:通过npm发布产品业务代码到私有模块库;
S2:项目安装产品业务模块,通过webpack插件在编译时复制代码到项目src/.prod目录;
S3:S2中插件在复制时替换原有@/引用路径到@prod/,改变原有引用路径指向;
S4:定制插件将JS代码转换成AST结构,解析并修改代码,重新生成JS代码;
S5:项目通过JS的继承机制,继承产品模块功能,实现在产品功能基础上重写,修改原有功能;
S6:定制路由插件,自动扫描添加.prod下的路由,添加到项目环境中;
S7:定制override插件,实现重载、重写(引用重定向)功能。
所述步骤S4具体为:
S4.1:提取export{Class},export const override代码,生成统一的导出语句;
S4.2:把JS箭头函数替换成普通函数,并在constructor中使用bind(this)绑定到当前对象。
所述步骤S7具体为:
S7.1:提取产品JS文件中装饰器等代码,统一封装成override装饰器,项目中通过@override引入产品模块并实现重载;
S7.2:比对项目与产品目录结构,发现项目中存在与产品同目录结构文件则自动将产品中原有引用重定向到该项目文件,实现同目录自动重定向。
一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的一种项目与产品同步迭代升级方法。
一种计算机设备,包括储存器、处理器及存储在存储器上并可再处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种项目与产品同步迭代升级方法。
有益效果:与现有技术相比,本发明具有如下优点:
1、利用npm包管理机制建立项目、产品模块依赖关系;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于的卢技术有限公司,未经的卢技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110995847.8/2.html,转载请声明来源钻瓜专利网。





