一种自动适配运行环境的方法、装置、介质和设备制造方法及图纸

技术编号:24352461 阅读:20 留言:0更新日期:2020-06-03 01:52
本公开提供了一种自动适配运行环境的方法、装置、介质和设备,所述方法包括:构建所述运行环境与对应域名的映射并实例化HTTP请求类;基于所述HTTP请求类,动态获取环境变量,并根据所述环境变量得到对应的域名并赋值给所述HTTP请求类的域名属性;将所述HTTP请求类的域名属性和开发者传入的路径合成URL,发送HTTP请求,自动适配运行环境。本公开实施例提供的方法能够使得开发者在发布新的代码时,通过自动获得运行环境的变量而使得待发布代码能够自动识别运行环境变量,从而使得前端程序能自动适配不同的运行环境,有效提升了开发效率和减少适配错误。

A method, device, medium and equipment for automatically adapting operation environment

【技术实现步骤摘要】
一种自动适配运行环境的方法、装置、介质和设备
本公开涉及计算机
,具体而言,涉及一种自动适配运行环境的方法、装置、介质和设备。
技术介绍
随着技术的发展,现在的网络应用程序的功能变得越来越强大。相应的,代码逻辑也变得越来越复杂,出现Bug的概率也越来越高。如果有Bug的代码被直接发布到线上,会对用户体验造成严重的损害。为了保障网络应用程序的质量,程序开发需要采用规范的开发流程。在一个成熟的开发流程中,一个功能的开发一般需要经过本地开发调试、测试环境测试、灰度环境观测和正式环境使用四个步骤。通过层层考验,可以尽早发现和修复程序的Bug。不同的步骤需要使用不同的运行环境。以上四个步骤分别使用开发环境、测试环境、灰度环境和正式环境。不同运行环境的资源是相关隔离的,避免互相影响。网络应用程序一般分为前端和后端两部分。前端和后端是独立开发和部署的。前端和后端通过HTTP请求进行协作。后端提供接口,前端使用接口。当后端程序部署在不同的运行环境上时,后端程序提供的接口对应的URL是不一样的。因此,请求接口的代码也有所差别。而前端程序包含了很多请求接口的代码。也就是说,部署在不同运行环境的前端程序是不一样的。每次把前端代码发布到不同的运行环境,都需要修改请求接口部分的代码。这种手动适配方式增加了不少工作量,同时还容易出错。如果前端程序能自动适配不同的运行环境,可以有效提升开发效率和减少适配错误。公开内容本公开的目的在于提供一种自动适配运行环境的方法、装置、介质和设备,能够解决上述提到的至少一个技术问题。具体方案如下:根据本公开的具体实施方式,第一方面,本公开提供一种自动适配运行环境的方法,包括:构建所述运行环境与对应域名的映射并实例化HTTP请求类;基于所述HTTP请求类,动态获取环境变量,并根据所述环境变量得到对应的域名并赋值给所述HTTP请求类的域名属性;将所述HTTP请求类的域名属性和开发者传入的路径合成URL,发送HTTP请求,自动适配运行环境。可选的,所述构建运行环境与对应域名的映射并实例化HTTP请求类,包括:确定所述运行环境对应的域名,并构建所述运行环境与所述域名的映射关系,形成域名映射;把所述域名映射作为输入参数,使用new操作符调用HTTP请求类的构造函数,得到HTTP请求类实例。可选的,所述基于所述HTTP请求类,动态获取环境变量,并根据所述环境变量得到对应的域名并赋值给所述HTTP请求类的域名属性,包括:在HTTP请求类的构造函数中,读取挂载在全局变量上的约定属性,并赋值给环境变量;以所述环境变量作为键,从所述域名映射中获得对应的域名;将获得的所述域名赋值给所述HTTP请求类的域名属性。可选的,所述在HTTP请求类的构造函数中,读取挂载在全局变量上的约定属性,并赋值给环境变量,之后包括:当读取挂载在全局变量上的约定属性失败时,环境变量等于开发环境变量。可选的,所述将所述HTTP请求类的域名属性和开发者传入的路径合成URL,发送HTTP请求,自动适配运行环境,包括:以路径、方法、数据作为输入入参,调用HTTP请求类实例的请求函数;在所述请求函数中,根据所述HTTP请求类的域名属性和所述路径合成URL;所述请求函数向所述合成URL发起HTTP请求并自动适配运行环境。可选的,所述基于所述HTTP请求类,动态获取环境变量,并根据所述环境变量得到对应的域名并赋值给所述HTTP请求类的域名属性,之前还包括:发布系统在待发布的前端程序代码中注入所述运行环境的环境变量,将所述待发布的前端程序代码发布到不同的运行环境。可选的,所述发布系统在待发布的前端程序代码中注入所述运行环境的环境变量,将所述待发布的前端程序代码发布到不同的运行环境,包括:将待发布的前端程序代码上传到发布系统,并选择运行环境进行发布,其中,所述待发布的前端程序代码包括:HTML、JS和CSS代码;所述发布系统把选择的所述运行环境赋值给全局变量的约定属性,并用包裹在脚本标签中的JS代码实现赋值逻辑;通过字符串替换的方式在HTML中插入包裹所述JS代码的脚本标签;将插入所述脚本标签的HTML发布到选择的运行环境对应的服务器集群中。根据本公开的具体实施方式,第二方面,本公开提供一种自动适配运行环境的装置,包括:构建单元,用于构建所述运行环境与对应域名的映射并实例化HTTP请求类;获取单元,用于基于所述HTTP请求类,动态获取环境变量,并根据所述环境变量得到对应的域名并赋值给所述HTTP请求类的域名属性;发送单元,用于将所述HTTP请求类的域名属性和开发者传入的路径合成URL,发送HTTP请求,自动适配运行环境。根据本公开的具体实施方式,第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上任一项所述的方法。根据本公开的具体实施方式,第四方面,本公开提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述的方法。本公开实施例的上述方案与现有技术相比,至少具有以下有益效果:本公开实施例提供的方法能够使得开发者在发布新的代码时,通过自动获得运行环境的变量而使得待发布代码能够自动识别运行环境变量,从而使得前端程序能自动适配不同的运行环境,有效提升了开发效率和减少适配错误。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示出了根据本公开实施例的自动适配运行环境方法的流程图;图2示出了根据本公开实施例的自动适配运行环境装置结构示意图;图3示出了根据本公开的实施例的电子设备连接结构示意图。具体实施方式为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。在本公开实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外本文档来自技高网...

【技术保护点】
1.一种自动适配运行环境的方法,其特征在于,包括:/n构建所述运行环境与对应域名的映射并实例化HTTP请求类;/n基于所述HTTP请求类,动态获取环境变量,并根据所述环境变量得到对应的域名并赋值给所述HTTP请求类的域名属性;/n将所述HTTP请求类的域名属性和开发者传入的路径合成URL,发送HTTP请求,自动适配运行环境。/n

【技术特征摘要】
1.一种自动适配运行环境的方法,其特征在于,包括:
构建所述运行环境与对应域名的映射并实例化HTTP请求类;
基于所述HTTP请求类,动态获取环境变量,并根据所述环境变量得到对应的域名并赋值给所述HTTP请求类的域名属性;
将所述HTTP请求类的域名属性和开发者传入的路径合成URL,发送HTTP请求,自动适配运行环境。


2.如权利要求1所述的方法,其特征在于,所述构建运行环境与对应域名的映射并实例化HTTP请求类,包括:
确定所述运行环境对应的域名,并构建所述运行环境与所述域名的映射关系,形成域名映射;
把所述域名映射作为输入参数,使用new操作符调用HTTP请求类的构造函数,得到HTTP请求类实例。


3.如权利要求1所述的方法,其特征在于,所述基于所述HTTP请求类,动态获取环境变量,并根据所述环境变量得到对应的域名并赋值给所述HTTP请求类的域名属性,包括:
在HTTP请求类的构造函数中,读取挂载在全局变量上的约定属性,并赋值给环境变量;
以所述环境变量作为键,从所述域名映射中获得对应的域名;
将获得的所述域名赋值给所述HTTP请求类的域名属性。


4.如权利要求3所述的方法,其特征在于,所述在HTTP请求类的构造函数中,读取挂载在全局变量上的约定属性,并赋值给环境变量,之后包括:
当读取挂载在全局变量上的约定属性失败时,环境变量等于开发环境变量。


5.如权利要求1所述的方法,其特征在于,所述将所述HTTP请求类的域名属性和开发者传入的路径合成URL,发送HTTP请求,自动适配运行环境,包括:
以路径、方法、数据作为输入入参,调用HTTP请求类实例的请求函数;
在所述请求函数中,根据所述HTTP请求类的域名属性和所述路径合成URL;
所述请求函数向所述合成URL发起HTTP请求并自动适配运行环...

【专利技术属性】
技术研发人员:邬亮凌艺宾
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1