System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种前端跨工程公共库系统及其构建方法技术方案_技高网

一种前端跨工程公共库系统及其构建方法技术方案

技术编号:40193434 阅读:8 留言:0更新日期:2024-01-26 23:55
本发明专利技术提出一种前端跨工程公共库系统及其构建方法,该方法包括:在第一服务器中构建公共库;基于用户的上传操作,用户终端将目标项目工程的代码文件上传至所述公共库,并存储在与所述目标项目工程同名的公共库工程文件目录下;响应于所述目标项目工程完成,所述公共库将所述目标项目工程的代码压缩后上传至第二服务器;响应于用户的下载操作,所述用户终端从所述第二服务器中下载目标压缩文件,并将所述目标压缩文件解压后存储在本地公共库中;所述本地公共库是由所述用户终端从所述第一服务器中下载所述公共库并部署在本地的。本发明专利技术可以实现公共库私有化、源码方便阅读、跨工程、不影响业务版本控制的需求。

【技术实现步骤摘要】

本专利技术涉及计算机,具体涉及一种前端跨工程公共库系统及其构建方法


技术介绍

1、随着前端工程化的遍及,前端代码的复用性得到了极大的飞跃,但随着代码越来越多,工程也越来越大,就会导致工程运行越来越慢,打包越来越慢,版本越来越难维护,模块之间相互影响。为了避免这种情况,行业内就将功能分到不同的工程里,一个模块一个工程,这样就解决了运行慢、打包慢、版本维护困难的问题。

2、随着企业的前端开发,工程逐渐变大以后,会产生一些公共可复用的公共库,为了实现公共库私有化、源码方便阅读、跨工程、不影响业务版本控制的诉求,业内通常的做法有:1.发布到npm上; 2.发布到公司部署的私有npm上;3.使用lerna跨工程。4.使用gitsubmodule或者git subtree跨工程。

3、但上述这几种方式,都存在一定弊端:

4、1.npm属于公共资源,无法满足我们企业代码私有化的诉求。

5、2.发布到公司的私有npm中,因为只有编译后才能发布,所以不利于业务开发过程中查找公共库的源码。

6、3.使用lerna跨工程,确实可以满足公共库私有化、源码方便阅读、以及跨工程的诉求,但它的弊端是必须放在一个大工程下,也就是说,必须需要统一的版本控制,单个工程无法独立控制自己的版本,经常出现版本冲突的问题。

7、4.使用git submodule或者git subtree跨工程,即实现了公共库私有化、源码方便阅读、跨工程、版本也能方便控制,但产生了严重的额外工作量:开发时需要不断地拉取公共库最新代码,还有公共库版本切换的问题。


技术实现思路

1、专利技术目的:本专利技术旨在提出一种前端跨工程公共库系统及其构建方法,以至少部分地克服当前公共库私有化方案的不足。

2、
技术实现思路
:为实现上述目的,本专利技术提出以下技术方案:

3、第一方面,本专利技术提出一种前端跨工程公共库系统的构建方法,包括步骤:

4、在第一服务器中构建公共库;

5、基于用户的上传操作,用户终端将目标项目工程的代码文件上传至所述公共库,并存储在与所述目标项目工程同名的公共库工程文件目录下;

6、响应于所述目标项目工程完成,所述公共库将所述目标项目工程的代码压缩后上传至第二服务器;

7、响应于用户的下载操作,所述用户终端从所述第二服务器中下载目标压缩文件,并将所述目标压缩文件解压后存储在本地公共库中;所述本地公共库是由所述用户终端从所述第一服务器中下载所述公共库并部署在本地的。

8、作为第一方面所述方法的一种可选实施方式,在第一服务器中构建公共库之后,还包括:

9、获取当前所有项目工程的名称,在所述公共库中为所述项目工程建立同名的公共库工程文件目录,所述公共库工程文件目录用于保存相应的项目工程的代码文件。

10、具体的,响应于所述目标项目工程完成,所述公共库将所述目标项目工程的代码压缩后上传至第二服务器,具体包括:

11、所述公共库将所述目标项目工程的代码压缩后,得到压缩包;

12、所述公共库将所述压缩包的名称修改为与所述目标项目工程的名称一致;

13、所述公共库将修改过名称的所述压缩包上传至所述第二服务器。

14、更具体的,响应于用户的下载操作,所述用户终端从所述第二服务器中下载目标压缩文件,具体包括:

15、基于用户的下载操作,确定需要下载的项目工程的名称;

16、基于所述需要下载的项目工程的名称,在所述第二服务器中查找同名的压缩包;

17、所述用户终端将所述同名的压缩包作为所述目标压缩文件,下载至本地。

18、作为第一方面所述方法的一种可选实施方式,所述用户终端还用于在预设的第一节点和第二节点更新所述本地公共库;所述第一时间节点为所述目标项目工程启动节点;所述第二节点为所述目标项目工程打包完成的节点。

19、具体的,所述用户终端更新所述本地公共库,具体包括:

20、从所述第一服务器下载最新版本的公共库;

21、删除原本的本地公共库;

22、将所述最新版本的公共库部署在本地,得到新的本地公共库。

23、第二方面,提供了一种前端跨工程公共库系统,所述系统包括:第一服务器、第二服务器和用户终端;

24、所述第一服务器部署有公共库;所述公共库用于存储所述用户终端上传的目标项目工程的代码文件;所述公共库还用于在所述目标项目工程完成时,将所述目标项目工程的代码压缩后上传至第二服务器;

25、所述用户终端用于响应于用户的上传操作,将所述目标项目工程的代码文件上传所述公共库;所述用户终端还用于响应于用户的下载操作,从所述第二服务器中下载目标压缩文件,并将所述目标压缩文件解压后存储在本地公共库中;所述本地公共库是由所述用户终端从所述第一服务器中下载所述公共库并部署在本地的。

26、作为第二方面所述系统的一种可选实施方式,所述公共库中预先创建了与当前项目工程同名的公共库工程文件目录,所述公共库工程文件目录用于保存相应的项目工程的代码文件;当所述用户终端上传所述目标项目工程的代码文件时,所述公共库将所述目标项目工程的代码文件存储在与所述目标项目工程同名的公共库工程文件目录下。

27、作为第二方面所述系统的一种可选实施方式,所述用户终端包括存储模块和业务模块;

28、所述存储模块用于存储所述本地公共库;

29、所述业务模块用于与所述第一服务器交互,以完成所述目标项目工程的代码文件的上传,以及所述公共库的下载;

30、所述业务模块还用于与所述第二服务器交互,以完成所述目标压缩文件的下载。

31、具体的,所述业务模块还用于在预设的第一节点和第二节点更新所述本地公共库;所述第一节点为所述目标项目工程启动的时间节点;所述第二节点为所述目标项目工程开始打包的时间节点;

32、所述业务模块更新所述本地公共库,具体包括:

33、从所述第一服务器下载最新版本的公共库;

34、删除所述存储模块内原本的本地公共库;

35、将所述最新版本的公共库部署在所述存储模块中,得到新的本地公共库。

36、有益效果:与现有技术相比,本专利技术提出的前端跨工程公共库系统及其构建方法具有以下优势:

37、1、可以实现公共库完全私有化:本专利技术将公共库放在企业内部服务器(第一服务器和第二服务器)中,以实现公共库完全私有化。

38、2、代码方便阅读与排错:公共库只保存代码文件,不对代码进行编译,因此可以直接同步到所有前端工程。

39、3、自动更新:在项目启动和打包执行前将自动更新公共库,开发者无需要关注公共库更新的问题;

40、4、自动版本:在项目工程代码文件上传和下载前将自动检索项目工程的版本号,自动匹配到对应版本的公共库工程文本文档来自技高网...

【技术保护点】

1.一种前端跨工程公共库系统的构建方法,其特征在于,包括步骤:

2.如权利要求1所述的方法,其特征在于,在第一服务器中构建公共库之后,还包括:

3.如权利要求2所述的方法,其特征在于,响应于所述目标项目工程完成,所述公共库将所述目标项目工程的代码压缩后上传至第二服务器,具体包括:

4.如权利要求3所述的方法,其特征在于,响应于用户的下载操作,所述用户终端从所述第二服务器中下载目标压缩文件,具体包括:

5.如权利要求1所述的方法,其特征在于,所述用户终端还用于在预设的第一节点和第二节点更新所述本地公共库;所述第一节点为所述目标项目工程启动的时间节点;所述第二节点为所述目标项目工程开始打包的时间节点。

6.如权利要求5所述的方法,其特征在于,所述用户终端更新所述本地公共库,具体包括:

7.一种前端跨工程公共库系统,其特征在于,包括:第一服务器、第二服务器和用户终端;

8.如权利要求7所述的系统,其特征在于,所述公共库中预先创建了与当前项目工程同名的公共库工程文件目录,所述公共库工程文件目录用于保存相应的项目工程的代码文件;当所述用户终端上传所述目标项目工程的代码文件时,所述公共库将所述目标项目工程的代码文件存储在与所述目标项目工程同名的公共库工程文件目录下。

9.如权利要求7所述的系统,其特征在于,所述用户终端包括存储模块和业务模块;

10.如权利要求9所述的系统,其特征在于,所述业务模块还用于在预设的第一节点和第二节点更新所述本地公共库;所述第一时间节点为所述目标项目工程启动的时间节点;所述第二节点为所述目标项目工程开始打包的时间节点;

...

【技术特征摘要】

1.一种前端跨工程公共库系统的构建方法,其特征在于,包括步骤:

2.如权利要求1所述的方法,其特征在于,在第一服务器中构建公共库之后,还包括:

3.如权利要求2所述的方法,其特征在于,响应于所述目标项目工程完成,所述公共库将所述目标项目工程的代码压缩后上传至第二服务器,具体包括:

4.如权利要求3所述的方法,其特征在于,响应于用户的下载操作,所述用户终端从所述第二服务器中下载目标压缩文件,具体包括:

5.如权利要求1所述的方法,其特征在于,所述用户终端还用于在预设的第一节点和第二节点更新所述本地公共库;所述第一节点为所述目标项目工程启动的时间节点;所述第二节点为所述目标项目工程开始打包的时间节点。

6.如权利要求5所述的方法,其特征在于,所述用户终端更新所述本地公...

【专利技术属性】
技术研发人员:王明柱高健健姚博栋张俊李晓宇
申请(专利权)人:南京掌控网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1