基于nodejs脚本动态生成项目本地可执行文件的方法技术

技术编号:32520007 阅读:14 留言:0更新日期:2022-03-02 11:21
本发明专利技术提供一种基于nodejs脚本动态生成项目本地可执行文件的方法,包括如下步骤:服务器端通过json自动生成接口文档,所述接口文档为swager文档;客户端通过apiGenerator使用node请求文档获取swager文档的json数据;客户端通过apiGenerator动态生成本地的http.js文件。本发明专利技术具有以下有益效果:开发人员只需在项目启动前在nodejs配置文件中配置好相关要接口文档的地址,然后调用apiGenerator动态生成本地的http.js文件,在业务开发中直接引入页面调用即可。如果后续有统一需求上的变更,可在axios的拦截器中集中处理,或者修改apiGenerator文件的逻辑都可以处理。apiGenerator文件的逻辑都可以处理。apiGenerator文件的逻辑都可以处理。

【技术实现步骤摘要】
基于nodejs脚本动态生成项目本地可执行文件的方法


[0001]本专利技术涉及计算机
,具体涉及一种基于nodejs脚本动态生成项目本地可执行文件的方法、计算机可读存储介质及电子装置。

技术介绍

[0002]前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效地进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这种开发方式的核心思想是:前端HTML页面通过AJAX调用后端的RESTFUL API接口,并使用JSON数据进行交互。
[0003]伴随着业务不断复杂化,前后端联调开发需要一个http的接口管理工具来提高开发效率,例如小幺鸡,Swager,Yapi等接口文档管理工具,并且可用于开发人员的接口调试。当服务端(后端)开发人员完成接口文档编写以后,前端开发人员根据接口文档的内容编写web页面AJAX请求方式以及定义接口传参。伴随着项目内容不断增加以及业务的复杂化,一个项目的AJAX接口会越来越多,部分业务场景的接口会被重复的使用,前端开发人员维护AJAX接口的成本也会不断的增加。而且,如果后续遇到和AJAX请求相关的批量需求变更,会导致维护成本异常巨大。

技术实现思路

[0004]本专利技术的目的在于针对目前现有前端项目中http管理存在的一些缺陷,提供一种基于nodejs脚本动态生成项目本地可执行文件的方法、计算机可读存储介质及电子装置,无需业务开发人员维护,大大提升了项目的开发效率和减少了维护成本。
[0005]为实现上述目的,本专利技术提供一种基于nodejs脚本动态生成项目本地可执行文件的方法,包括如下步骤:S1、服务器端通过json自动生成接口文档;S2、客户端通过apiGenerator使用node请求文档获取所述接口文档的json数据;S3、客户端通过apiGenerator 动态生成本地的http.js文件。
[0006]优选的,所述接口文档为swager文档。
[0007]优选的,所述步骤S3具体为:解析获取的swager文档的json数据,生成客户端可识别的js代码,根据API接口RESTFUL将识别的js代码生成本地的http函数,一个swager文档对应一个http函数,将所有http函数统一形成封装好的axios函数集中管理,提供axios函数所需的参数,为每个http函数进行差异化配置,生成函数备注,解析参数含义,形成具有不同功能的本地的http.js文件。
[0008]优选的,所述“axios函数所需的参数”包括请求url,method,formData,header等
参数。
[0009]优选的,“为每个http函数进行差异化配置”具体为,根据引入封装好的axios函数,配置不同的参数按需加载,形成具有不同功能的本地的http.js文件。。
[0010]优选的,步骤S2为在nodejs环境下请求本地的接口文档管理页面,爬取swager文档的json数据。
[0011]优选的,当服务端更新了接口文档后,客户端只需要重新执行apiGenerator,更新生成最新的本地http.js文件。
[0012]本专利技术揭示了一种计算机可读存储介质,存储有至少一程序,所述至少一程序在被调用时执行并实现如前所述的基于nodejs脚本动态生成项目本地可执行文件的方法。
[0013]本专利技术揭示了一种电子装置,所述电子装置包含有如前所述的计算机可读存储介质。
[0014]本专利技术具有以下有益效果:开发人员只需在项目启动前在nodejs 配置文件中配置好相关要接口文档的地址,然后调用apiGenerator 动态生成本地的http.js文件,在业务开发中直接引入页面调用即可。如果后续有统一需求上的变更,可在axios的拦截器中集中处理,或者修改apiGenerator 文件的逻辑都可以处理。当使用typescript 开发项目时后,还可以自动声明好http函数的类型以及返回内容,大大方便后续业务的开发。
附图说明
[0015]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本专利技术提供的一种基于nodejs脚本动态生成项目本地可执行文件的方法的流程示意图;图2是根据本专利技术提供的方法的一实施方式的流程示意图。
具体实施方式
[0017]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0018]本专利技术提供一种基于nodejs脚本动态生成项目本地可执行文件的方法、计算机可读存储介质及电子装置,以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对本专利技术实施例优选顺序的限定。且在以下实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0019]Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。在服务器端使用原生node.js http模块, 而在客户端 (浏览器) 则使用XMLHttpRequests。本专利技术使用AOP原理,用axios函数封装js 代码的函数,用于对所有对http进行一个公共对管理。
[0020]请参阅图1和图2所示,一种基于nodejs脚本动态生成项目本地可执行文件的方法,包括如下步骤:S1、服务器端通过json自动生成接口文档,所述接口文档为swager文档;S2、客户端通过apiGenerator创建node文件,主要功能是在nodejs环境下请求本地的接口文档管理页面,使用node请求文档获取swager文档的json数据;S3、客户端通过apiGenerator 动态生成本地的http.js文件。
[0021]当然,本专利技术的接口文档也可以是其他形式,小幺鸡,Yapi 等开源的api维护网站都可以。
[0022]所述步骤S3具体为:解析获取的swager文档的json数据,生成客户端可识别的js代码。
[0023]根据API接口RESTFUL将识别的js代码生成本地的http函数,一个swager文档对应一个http函数,将所有http函数统一形成封装好的axios函数集中管理。本领域的技术人员都知晓:RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以理解为一种规范和标准。RESTful API是目前比较成熟的一套互联网应用程序的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于nodejs脚本动态生成项目本地可执行文件的方法,其特征在于,包括如下步骤,S1、服务器端通过json自动生成接口文档;S2、客户端通过apiGenerator使用node请求文档获取所述接口文档的json数据;S3、客户端通过apiGenerator 动态生成本地的http.js文件。2.根据权利要求1所述的基于nodejs脚本动态生成项目本地可执行文件的方法,其特征在于,所述接口文档为swager文档。3.根据权利要求2所述的基于nodejs脚本动态生成项目本地可执行文件的方法,其特征在于,所述步骤S3具体为:解析获取的swager文档的json数据,生成客户端可识别的js代码,根据API接口RESTFUL将识别的js代码生成本地的http函数,一个swager文档对应一个http函数,将所有http函数统一形成封装好的axios函数集中管理,提供axios函数所需的参数,为每个http函数进行差异化配置,生成函数备注,解析参数含义,形成具有不同功能的本地的http.js文件。4.根据权利要求3所述的基于nodejs脚本动态生成项目本地可执行文件的方法,其特征在于,所述“axi...

【专利技术属性】
技术研发人员:王明羊旭峰汪澄周海涛吕大兵黄磊磊张爱春经雨欣
申请(专利权)人:苏州瀚码智能技术有限公司
类型:发明
国别省市:

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

1