Web应用系统前端模块化开发方法与流程

文档序号:16665814发布日期:2019-01-18 23:15阅读:776来源:国知局

本发明涉及web应用系统开发技术,特别涉及web应用系统前端的模块化开发技术。



背景技术:

随着互联网的发展,承载在web页面上的业务日益复杂,使得前端开发规模变得越来越大,开发团队的规模也变得越来越大。目前流行的开发模式是使用版本控制工具,进行敏捷开发,持续集成和持续交付。但上述方法中web应用系统前端的各个模块之间耦合性较高,使得一个业务或者bug可能涉及到不同的模块,需要不同的开发人员协同开发,有时候只更新了一个文件,提交后也要全部文件重新编译、部署,影响其他开发人员工作,并且不同的开发人员开发完成后各自提交代码到代码仓库,有可能造成其他模块的编译错误等问题。此外,现有web应用系统前端的各个模块都部署在同一服务器,如果某个模块出现问题,可能导致所有模块都无法正常使用,进行修复和重新部署都需要大量的时间,系统稳定性和可靠性不高。



技术实现要素:

本发明为解决现有web应用系统前端开发中模块间耦合性高的技术问题,提出一种web应用系统前端模块化开发方法。

为解决上述技术问题,本发明采用的技术方案是:web应用系统前端模块化开发方法,包括代码开发部分和模块调用部分;

所述代码开发部分包括以下步骤:

步骤一、创建web应用系统前端项目模板,将web应用系统前端分为一个门户模块和多个子模块;

步骤二、利用版本控制工具为门户模块和每个子模块建立独立的代码仓库,分别对门户模块和每个子模块进行版本管理;

步骤三、分别在本地服务器开发并调试门户模块和各个子模块的代码,并将门户模块和各个子模块的代码提交到对应的代码仓库,每个代码仓库自动编译接收到的代码,并将代码对应的门户模块或子模块部署到服务器中;

步骤四、将门户模块和各个子模块的代码进行合并,统一发布;

所述模块调用部分包括以下步骤:

步骤a、启动web应用系统前端后,首先加载门户模块并获取web应用系统前端当前运行环境;

步骤b、门户模块根据web应用系统前端当前运行环境,通过后台调用各个子模块的接口来获取各个子模块的入口地址,若web应用系统前端当前运行环境是任意一个或多个子模块的开发环境,则相应的一个子模块或多个子模块的入口地址为开发该子模块代码的本地服务器地址,web应用系统中剩余子模块的入口地址为子模块所部署的相应服务器地址,若web应用系统前端当前运行环境是生产环境,则web应用系统中所有子模块的入口地址为子模块所部署的相应服务器地址;

步骤c、门户模块将每个子模块对应的用户界面元素与入口地址进行一一对应,通过点击门户模块中不同的用户界面元素跳转到对应的子模块。

作为进一步优化,所述门户模块和各个子模块分别部署在不同的服务器中。将各个模块分别部署在不同的服务器中,即使某个模块或某个服务器出现问题,也不会影响其他模块的使用,系统的稳定性和可靠性得到提高。

作为进一步优化,所述门户模块和各个子模块部署在同一服务器的不同端口。将各个模块部署在同一服务器中,有利于集中管理和节约成本,同时各模块是部署在不同的端口,也能达到模块间相互分离的效果,使某个模块出现问题时不至于影响其他模块的使用。

作为进一步优化,所述步骤二中版本控制工具采用同一代码仓库的不同分支分别对门户模块和每个子模块进行版本管理,所述步骤三中将门户模块和各个子模块的代码提交到代码仓库对应的分支中。采用同一代码仓库有利于对所有代码的集中管理,同时各模块代码又位于该代码仓库的不同分支,也能使各模块代码相互分离。

有益效果是:本发明在web应用系统前端开发过程中,分离出系统中的各个模块,并为每个模块配置单独的代码仓库,让每个模块的开发独立进行,各模块间不会相互影响,所有模块开发完成后再合并代码统一发布,并且通过门户模块调用各个子模块时,先检测系统前端运行环境,根据运行环境判断当前用户是开发人员还是普通用户,开发人员通过点击门户模块的用户界面元素进入相应子模块,就能对自己负责的子模块再进行开发调试,本发明实现了系统中的各个模块独立开发,各个模块的调试、编译和部署都互不影响,模块间耦合性低。本发明特别适用于web应用系统前端开发。

具体实施方式

下面结合实施例,进一步说明本发明的技术方案。

本发明的技术方案是:web应用系统前端模块化开发方法,包括代码开发部分和模块调用部分;

所述代码开发部分包括以下步骤:

步骤一、创建web应用系统前端项目模板,将web应用系统前端分为一个门户模块和多个子模块;

步骤二、利用版本控制工具为门户模块和每个子模块建立独立的代码仓库,分别对门户模块和每个子模块进行版本管理;

步骤三、分别在本地服务器开发并调试门户模块和各个子模块的代码,并将门户模块和各个子模块的代码提交到对应的代码仓库,每个代码仓库自动编译接收到的代码,并将代码对应的门户模块或子模块部署到服务器中;

步骤四、将门户模块和各个子模块的代码进行合并,统一发布;

所述模块调用部分包括以下步骤:

步骤a、启动web应用系统前端后,首先加载门户模块并获取web应用系统前端当前运行环境;

步骤b、门户模块根据web应用系统前端当前运行环境,通过后台调用各个子模块的接口来获取各个子模块的入口地址,若web应用系统前端当前运行环境是任意一个或多个子模块的开发环境,则相应的一个子模块或多个子模块的入口地址为开发该子模块代码的本地服务器地址,web应用系统中剩余子模块的入口地址为子模块所部署的相应服务器地址,若web应用系统前端当前运行环境是生产环境,则web应用系统中所有子模块的入口地址为子模块所部署的相应服务器地址;

步骤c、门户模块将每个子模块对应的用户界面元素与入口地址进行一一对应,通过点击门户模块中不同的用户界面元素跳转到对应的子模块。

本发明在创建项目时将web应用系统前端划分成一个门户模块和多个子模块,并为每个模块配置独立的代码仓库,这样开发人员就能对各个模块独立进行开发调试,待各个模块都开发完成后再将代码合并发布;在启动web应用系统前端后,需根据系统当前运行环境判断当前用户是开发人员还是普通用户,如果是开发人员,则相应子模块的入口地址就为对应的本地服务器,那么开发人员点击用户界面元素进入该子模块后就能进行更新、修复bug等开发操作。

对上述方法的各个步骤进行优化,具体可以是:门户模块和各个子模块可以分别部署在不同的服务器中。将各个模块分别部署在不同的服务器中,即使某个模块或某个服务器出现问题,也不会影响其他模块的使用,系统的稳定性和可靠性得到提高。门户模块和各个子模块也可以部署在同一服务器的不同端口。将各个模块部署在同一服务器中,有利于集中管理和节约成本,同时各模块是部署在不同的端口,也能达到模块间相互分离的效果,使某个模块出现问题时不至于影响其他模块的使用。步骤二中版本控制工具可以采用同一代码仓库的不同分支分别对门户模块和每个子模块进行版本管理,所述步骤三中将门户模块和各个子模块的代码提交到代码仓库对应的分支中。采用同一代码仓库有利于对所有代码的集中管理,同时各模块代码又位于该代码仓库的不同分支,也能使各模块代码相互分离。

实施例

下面采用react开发语言,gitlab版本控制工具举例具体说明。

步骤s1、使用react脚手架工具create-react-app创建web应用系统前端项目模板,将web应用系统前端分为子模块一、子模块二、子模块三和门户模块。

步骤s2、在gitlab上为子模块一、子模块二、子模块三和门户模块分别建立独立的代码仓库为代码仓库一、代码仓库二、代码仓库三和代码仓库四,对子模块一、子模块二、子模块三和门户模块分别进行版本管理,其中,子模块一对应代码仓库一,子模块二对应代码仓库二,子模块三对应代码仓库三,门户模块对应代码仓库四。

步骤s3、开发人员分别在不同的本地服务器搭建子模块一、子模块二、子模块三和门户模块的开发环境,并分别在不同的本地服务器开发调试子模块一、子模块二、子模块三和门户模块的代码,完成后将子模块一的代码提交到代码仓库一,子模块二的代码提交到代码仓库二,子模块三的代码提交到代码仓库三,门户模块的代码提交到代码仓库四;代码仓库一、代码仓库二、代码仓库三和代码仓库四自动编译接收到的代码,并将代码对应的子模块一、子模块二、子模块三和门户模块部署到不同的服务器中。

步骤s4、需要正式发布时,将子模块一、子模块二、子模块三和门户模块的代码进行合并,统一发布。

步骤s5、普通用户或开发人员在本地启动web应用系统前端后,系统首先加载门户模块并获取web应用系统前端当前运行环境。

步骤s6、门户模块根据web应用系统前端当前运行环境,通过后台调用各个子模块的接口来获取各个子模块的入口地址,当检测到web应用系统前端当前运行环境是子模块一的开发环境时,表示子模块一的开发人员在运行系统,则将子模块一的入口地址设置为开发子模块一代码的本地服务器地址,子模块二的入口地址设置为子模块二所部署的服务器地址,子模块三的入口地址设置为子模块三所部署的服务器地址;若检测到web应用系统前端当前运行环境是生产环境,则web应用系统中所有子模块的入口地址为子模块所部署的相应服务器地址;

步骤s7、门户模块将子模块一的用户界面元素与子模块一的入口地址进行对应,将子模块二的用户界面元素与子模块二的入口地址进行对应,将子模块三的用户界面元素与子模块三的入口地址进行对应,通过点击门户模块中不同的用户界面元素跳转到对应的子模块。如果是普通用户进行的点击,就能连接到相应子模块所部署的服务器正常使用;如果是开发人员进行的点击,就能连接到开发相应子模块的本地服务器,开发人员就能对该子模块进行更新、修复bug等开发操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1