CN107273140B - 脚手架管理方法、装置及电子设备 - Google Patents

脚手架管理方法、装置及电子设备 Download PDF

Info

Publication number
CN107273140B
CN107273140B CN201710547621.5A CN201710547621A CN107273140B CN 107273140 B CN107273140 B CN 107273140B CN 201710547621 A CN201710547621 A CN 201710547621A CN 107273140 B CN107273140 B CN 107273140B
Authority
CN
China
Prior art keywords
scaffold
template
git
warehouses
ware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710547621.5A
Other languages
English (en)
Other versions
CN107273140A (zh
Inventor
黄雅琴
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710547621.5A priority Critical patent/CN107273140B/zh
Publication of CN107273140A publication Critical patent/CN107273140A/zh
Priority to PCT/CN2018/071608 priority patent/WO2019007016A1/zh
Application granted granted Critical
Publication of CN107273140B publication Critical patent/CN107273140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种脚手架管理方法、装置及电子设备,应用于与服务器通信连接的用户端,该服务器预存有包括多个脚手架模板的Git仓库。所述方法包括:从服务器的Git仓库中获取多个脚手架模板,并保存至本地以生成本地仓库;从Git仓库或本地仓库中获取与待处理的脚手架模板名对应的脚手架模块,作为指定脚手架模板;对指定脚手架模板进行解压获得解压文件并存放至本地文件夹;对解压文件中的脚手架代码进行配置,生成所需的脚手架文件。本发明提供的脚手架管理方案,节省了整个过程的处理时间且降低了***处理负担,可方便、快捷地生成所需的脚手架文件,对于使用者及开发者来说均无需多余的操作,是一种便捷的管理工具。

Description

脚手架管理方法、装置及电子设备
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种脚手架管理方法、装置及电子设备。
背景技术
Git是一个开源的分布式版本控制***,可以有效地、高速地处理从很小到非常大的项目版本管理。脚手架可为项目提供初期的基本骨架,开发环境等,方便进行快速开发,节省时间。现有技术中,在对脚手架进行开发及使用时,其操作较为繁琐,且十分不方面追踪脚手架的操作历史。因此,如何实现简单、快捷的脚手架配置及使用十分重要。
发明内容
有鉴于此,本发明的目的在于提供一种脚手架管理方法、装置及电子设备,以解决上述问题。
本发明实施例提供一种脚手架管理方法,应用于与服务器通信连接的用户端,所述服务器预存有包括多个脚手架模板的Git仓库,所述方法包括:
从所述服务器的Git仓库中获取多个脚手架模板,并保存至本地以生成本地仓库;
从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模块,作为指定脚手架模板;
对所述指定脚手架模板进行解压获得解压文件并存放至本地文件夹;
对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件。
进一步地,所述从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模块的步骤之前,所述方法还包括:
接收查询指令,判断所述查询指令是否与预设指令相一致,若所述查询指令与所述预设指令相一致,则根据所述查询指令查询得到所述Git仓库中的所有脚手架模板信息。
进一步地,所述指定脚手架模板通过以下步骤获得:
查询所述本地仓库中是否存在与所述待处理的脚手架模板名对应的脚手架模板;
若存在,则从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板,若不存在,则从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板。
进一步地,在查询得到所述本地仓库中存在与所述待处理的脚手架模板名对应的脚手架模板后,所述方法还包括:
判断当前***模式是否为离线模式,若为离线模式,则执行从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板的步骤,若不为离线模式,则执行从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板的步骤。
进一步地,所述对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件的步骤,包括:
根据获得的自定义配置表对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件;
所述自定义配置表通过以下步骤获得:
设置指定配置信息并展示,以供用户选择;
接收用户输入的选择结果,并生成与所述选择结果相对应的自定义配置表。
本发明另一实施例还提供一种脚手架管理装置,应用于与服务器通信连接的用户端,所述服务器预存有包括多个脚手架模板的Git仓库,所述脚手架管理装置包括:
第一获取模块,用于从所述服务器的Git仓库中获取多个脚手架模板,并保存至本地以生成本地仓库;
第二获取模块,用于从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模块,作为指定脚手架模板;
解压模块,用于对所述指定脚手架模板进行解压获得解压文件并存放至本地文件夹;
配置模块,用于对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件。
进一步地,所述脚手架管理装置还包括接收模块、判断模块以及第一查询模块;
所述接收模块用于接收查询指令;
所述判断模块用于判断所述查询指令是否与预设指令相一致;
所述第一查询模块用于在所述查询指令与所述预设指令相一致时,根据所述查询指令查询得到所述Git仓库中的所有脚手架模板信息。
进一步地,所述脚手架管理装置还包括第二查询模块、提取模块以及下载模块;
所述第二查询模块用于查询所述本地仓库中是否存在与所述待处理的脚手架模板名对应的脚手架模板;
所述提取模块用于在所述本地仓库中存在与所述待处理的脚手架模板名对应的脚手架模板时,从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板;
所述下载模块用于在所述本地仓库中不存在与所述待处理的脚手架模板名对应的脚手架模板时,从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板。
本发明另一实施例还提供一种电子设备,所述电子设备与服务器通信连接,所述服务器预存有包括多个脚手架模板的Git仓库,所述电子设备包括:
存储器;
处理器;及
脚手架管理装置,所述脚手架管理装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块。
本发明另一实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的脚手架管理方法的步骤。
本发明实施例提供一种脚手架管理方法、装置及电子设备,将项目所需的多个脚手架模板统一存放至远程的Git仓库中,并从Git仓库中提取多个脚手架模板保存至本地以生成本地仓库。从本地仓库或远程的Git仓库中获取用户所需的指定脚手架模板,对获得的指定脚手架模板进行解压得到解压文件,并通过交互式提问获得与用户需求相匹配的自定义配置表,根据该自定义配置表对解压文件中的脚手架代码进行配置,最终生成所需的脚手架文件。本发明提供的脚手架管理方案,节省了整个过程的处理时间且降低了***处理负担,可方便、快捷地生成所需的脚手架文件,对于使用者及开发者来说均无需多余的操作,是一种便捷的管理工具。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的一种脚手架管理方法的应用场景示意图。
图2为本发明较佳实施例提供的用户端的示意性结构框图。
图3为本发明较佳实施例提供的一种脚手架管理方法的流程图。
图4为本发明较佳实施例提供的脚手架管理方法的另一流程图。
图5为本发明较佳实施例提供的脚手架管理方法的另一流程图。
图6为本发明较佳实施例提供的脚手架管理装置的功能模块框图。
图7为本发明较佳实施例提供的脚手架管理装置的另一功能模块框图。
图8为本发明较佳实施例提供的脚手架管理装置的另一功能模块框图。
图9为本发明较佳实施例提供的脚手架管理装置的另一功能模块框图。
图标:100-用户端;110-脚手架管理装置;111-第一获取模块;112-第二获取模块;113-解压模块;114-配置模块;115-接收模块;116-判断模块;117-第一查询模块;118-第二查询模块;119-提取模块;1110-下载模块;1111-设置模块;1112-生成模块;120-处理器;130-存储器;200-服务器。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
请参阅图1,为本发明实施例提供的一种脚手架管理方法的应用场景示意图。该场景包括用户端100和服务器200。所述用户端100通过网络与所述服务器200通信连接,以进行数据通信或交互。其中,所述用户端100可以为多个(图中只示出一个),多个所述用户端100通过网络与所述服务器200通信连接。所述用户端100可以是但不限于个人电脑、平板电脑、智能手机、移动上网设备等。所述服务器200可以是网络服务器、数据库服务器,可以是单独的服务器也可以是服务器集群等。
请参阅图2,为本发明实施例提供的电子设备的示意性结构框图。在本实施例中,所述电子设备可以为上述的用户端100,所述用户端100包括脚手架管理装置110、处理器120及存储器130。其中,所述存储器130与所述处理器120之间直接或间接的电性连接,以实现数据的传输或交互。所述脚手架管理装置110包括至少一个可以软件或固件的形式存储于所述存储器130中或固化在所述用户端100的操作***中的软件功能模块。所述处理器120用于执行所述存储器130中存储的可执行模块,例如所述脚手架管理装置110包括的软件功能模块或计算机程序。
请参阅图3,是本发明实施例提供的一种应用于上述用户端100的脚手架管理方法的流程图。所应说明的是,本发明提供的方法不以图3及以下所述的具体顺序为限制。下面将对图3中示出的各步骤进行详细说明。
步骤S101,从所述服务器200的Git仓库中获取多个脚手架模板,并保存至本地以生成本地仓库。
在本实施例中,所述用户端100与所述服务器200通信连接,且所述服务器200中预存有包括多个脚手架模板的Git仓库。应当理解,该Git仓库中的脚手架模板为多个用户端100推送至服务器200中的脚手架模板的总和,例如,同一个项目的所有团队人员所推送的脚手架模板的总和。
在本实施例中,为了便于后续在采用离线模式进行脚手架模板配置等工作,可首先从所述服务器200的Git仓库中拉取多个脚手架模板,并保存至本地以生成本地仓库。应当理解,从服务器200中获取的多个脚手架模板为Git仓库中的部分脚手架模板,例如之前所使用过的脚手架模板。
可选地,在本实施例中,是基于nodeJS进行开发,nodeJS可以模拟并发出获取请求,则可以进行下载等操作。nodeJS社区已经有很多开源的库,可以直接调用其中一个就行,实现将Git仓库中的内容拷贝到本地。
可选地,在具体实施时,用户可通过查询动作来获取到当前所有可用的脚手架模板。在本实施例中,所述脚手架管理方法还包括以下步骤:
接收查询指令,判断所述查询指令是否与预设指令相一致,若所述查询指令与所述预设指令相一致,则根据所述查询指令查询得到所述Git仓库中的所有脚手架模板信息。
可选地,所述用户端100在接收到用户输入的查询指令后,首先需要检验接收到查询指令是否为预设指令相一致,例如可将用于查询的预设指令设置为odin list,则若接收到的用户输入的查询指令为odin list,则查询得到当前所述Git仓库中所有可用的脚手架模板信息,并反馈给用户,以便用户获知当前所有可用的脚手架模板。若接收到的用户输入的查询指令与预设命令不一致,则不作响应。
步骤S103,从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模块,作为指定脚手架模板。
用户在获知当前所有可用的脚手架模板信息后,可根据自身需求选择相应的脚手架模板以便后续对其进行处理。即,用户可输入待处理的脚手架模板名,用户端100根据接收到的获取指令从远程的Git仓库或者是本地仓库中获取与该待处理的脚手架模板名对应的脚手架模板,将其作为指定脚手架模板。
可选地,请参阅图4,在本实施例中,所述指定脚手架模板可通过以下步骤获得:
步骤S201,查询所述本地仓库中是否存在与所述待处理的脚手架模板名对应的脚手架模板,若存在,则执行以下步骤S203,若不存在,则执行以下步骤S205。
步骤S203,从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板。
步骤S205,从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板。
应当理解,用户端100的本地仓库中的脚手架模板是远程Git仓库中的脚手架模板的一部分。用户在输入查询指令后所获知的是当前所有可用的脚手架模板,即当前Git仓库中的所有脚手架模板。根据该信息用户所选择的指定脚手架模板可能存在于本地仓库中,但也可能在本地仓库中并不存在,只存在于远程的Git仓库中。
在本实施例中,为了节省处理时间及降低***负担,用户端100在获得用户输入的待处理的脚手架模板名时,例如输入指令odin gen+脚手架模板名,首先会查询本地仓库中是否存在与该脚手架模板名对应的脚手架模板,若存在该脚手架模板,则直接从本地仓库中提取出该脚手架模板,将其作为指定脚手架模板。
当然,若当前在本地仓库中不存在与该待处理的脚手架模板名对应的脚手架模板,则只能从远程的Git仓库中去下载以获取该脚手架模板。
在本实施例中,采用一查询流程,在本地仓库存在相应的所需的脚手架模板时,可直接从本地仓库中获取,则可不必每次都去远程的Git仓库下载相应所需的脚手架模板,可尽可能地节省处理时间并降低***的处理负担。
具体实施时,在进行脚手架模板获取时,还应该考虑当前的网络状态及用户需求,可选地,在本实施例中,所述脚手架管理方法还包括以下步骤:
判断当前***模式是否为离线模式,若为离线模式,则执行从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板的步骤,若不为离线模式,则执行从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板的步骤。
步骤S105,对所述指定脚手架模板进行解压获得解压文件并存放至本地文件夹。
在本实施例中,所获取到的指定脚手架模板是一个压缩包文件,所以需要将其解压缩并存放在本地的个人文件夹中,以便后续使用。例如,若当前进行的项目存放文件的文件夹名为.odin-template,当然也可以是用户自定义的文件夹,在本实施例中并不作具体限制。将所述指定脚手架模板的压缩包解压到对应文件夹下,例如,该指定脚手架模板的模板名为test。那么在.odin-template中,解压缩后就会生成一个test文件夹,里面存放着该指定脚手架模板的所有脚手架代码。
步骤S107,对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件。
可选地,在使用脚手架时,除了一些基本的规范、约定俗成的内容是不需要更改的之外,还需要进行一定程度的可定制化设置。对于该需求,不同的管理工具采用的是不同的逻辑。例如在yeoman中,是在模版开始下载前,即对用户进行交互式提问,让用户选择部分内容。在本实施例中,则是在脚手架代码被下载到本地之后,且在解压缩完成之后再进行交互式提问,以获取到用户的自定义配置表,根据该自定义配置表对解压文件中的脚手架代码进行配置,生成所需的脚手架文件。
可选地,请参阅图5,在本实施例中,所述自定义配置表通过以下步骤获得:
步骤S301,设置指定配置信息并展示,以供用户选择。
步骤S303,接收用户输入的选择结果,并生成与所述选择结果相对应的自定义配置表。
可选地,本实施例所提供的脚手架管理方法是基于nodeJS开发,nodeJS中的现有的库,可用于精确地操控文件及文件内容。在本实施例中,用于与用户进行交互式提问的问题逻辑在所述解压文件中预设有规定格式,可根据该预设格式设置指定的多个配置信息并展示,以供用户选择。例如,该规定格式可为将配置信息设置为是否需要A这样的格式,用户在使用的时候,可根据该配置信息并结合自身需求来作出相应的选择,例如可选择需要A,或者是不需要A。根据用户的选择结果生成相应的自定义配置表,并根据该自定义配置表对解压文件中的脚手架代码进行配置,生成与用户需求及选择内容相匹配的脚手架文件。例如,若用户的选择为需要A,则后续生产的脚手架文件中就会相应的包含A的内容。
在本实施例中,通过可交互式提问与用户进行交互,可得到与用户选择结果相匹配的自定义配置表。根据该自定义配置表可以定义解压文件及文件夹的目录筛选,且对解压文件中的脚手架代码进行精确控制,最后复制生成所需的脚手架文件。在本实施例中,开发者可遵循解压文件中的问题逻辑的预设规定格式,便捷地开发出多类型的用户适用的脚手架,使得脚手架功能更加灵活。
在本实施例中,通过将项目中的所有的脚手架模板统一存放在远程的Git仓库中,脚手架用户在使用时,只需通过输入与预设指令相符的查询指令即可获知当前所有可用的脚手架模板信息。且输入所需的待处理的脚手架模板名,即可获得所需的脚手架模板,并对其进行一系列处理之后即可快捷地生成所需的脚手架文件。对脚手架使用者来说整个过程十分方便且快捷,不需要任何多余的操作。
此外,对于脚手架开发者来说,由于Git本身是一个版本控制平台,因此在本实施例中使用Git进行脚手架代码托管,不会对脚手架开发者造成任何负担。其次,在开发过程中不需要新的学***台。并且,由于Git本身即是一个版本控制***,因此,使得本实施例中的脚手架管理装置110具备了追踪脚手架的操作历史的功能。
请参阅图6,为本发明实施例提供的一种脚手架管理装置110的功能模块框图。所述脚手架管理装置110包括第一获取模块111、第二获取模块112、解压模块113以及配置模块114。
所述第一获取模块111用于从所述服务器200的Git仓库中获取多个脚手架模板,并保存至本地以生成本地仓库。具体地,该第一获取模块111可用于执行图3中所示的步骤S101,具体的操作方法可参考步骤S101的详细描述。
所述第二获取模块112用于从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模块,作为指定脚手架模板。具体地,该第二获取模块112可用于执行图3中所示的步骤S103,具体的操作方法可参考步骤S103的详细描述。
所述解压模块113用于对所述指定脚手架模板进行解压获得解压文件并存放至本地文件夹。具体地,该解压模块113可用于执行图3中所示的步骤S105,具体的操作方法可参考步骤S105的详细描述。
所述配置模块114用于对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件。具体地,该配置模块114可用于执行图3中所示的步骤S107,具体的操作方法可参考步骤S107的详细描述。
请参阅图7,在本实施例中,所述脚手架管理装置110还包括接收模块115、判断模块116以及第一查询模块117。
所述接收模块115用于接收查询指令。所述判断模块116用于判断所述查询指令是否与预设指令相一致。所述第一查询模块117用于在所述查询指令与所述预设指令相一致时,根据所述查询指令查询得到所述Git仓库中的所有脚手架模板信息。
可选地,请参阅图8,在本实施例中,所述脚手架管理装置110还包括第二查询模块118、提取模块119以及下载模块1110。
所述第二查询模块118用于查询所述本地仓库中是否存在与所述待处理的脚手架模板名对应的脚手架模板。具体地,该第二查询模块118可用于执行图4中所示的步骤S201,具体的操作方法可参考步骤S201的详细描述。
所述提取模块119用于在所述本地仓库中存在与所述待处理的脚手架模板名对应的脚手架模板时,从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板。具体地,该提取模块119可用于执行图4中所示的步骤S203,具体的操作方法可参考步骤S203的详细描述。
所述下载模块1110用于在所述本地仓库中不存在与所述待处理的脚手架模板名对应的脚手架模板时,从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板。具体地,该下载模块1110可用于执行图4中所示的步骤S205,具体的操作方法可参考步骤S205的详细描述。
可选地,在本实施例,根据获得的自定义配置表对解压文件中的脚手架代码进行配置,生成所需的脚手架文件。可选地,请参阅图9,所述脚手架管理装置110还包括设置模块1111以及生成模块1112。
所述设置模块1111用户设置指定配置信息并展示,以供用户选择。具体地,该设置模块1111可用于执行图5中所示的步骤S301,具体的操作方法可参考步骤S301的详细描述。
所述生成模块1112用于接收用户输入的选择结果,并生成与所述选择结果相对应的自定义配置表。具体地,该生成模块1112可用于执行图5中所示的步骤S303,具体的操作方法可参考步骤S303的详细描述。
此外,本发明另一较佳实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器120执行时实现上述的脚手架管理方法的步骤。
综上所述,本发明提供的脚手架管理方法、装置及电子设备,将项目所需的多个脚手架模板统一存放至远程的Git仓库中,并从Git仓库中提取多个脚手架模板保存至本地以生成本地仓库。对于用户所需的指定脚手架模板,首先查询本地仓库,若本地仓库中存在,则直接从本地仓库中提取,若不存在,再从远程Git仓库中下载。对下载下来的指定脚手架模板进行解压得到解压文件,并通过交互式提问获得与用户需求相匹配的自定义配置表,根据该自定义配置表对解压文件中的脚手架代码进行配置,最终生成所需的脚手架文件。本发明提供的脚手架管理方案,节省了整个过程的处理时间且降低了***处理负担,可方便、快捷地生成所需的脚手架文件,对于使用者及开发者来说均无需多余的操作,是一种便捷的管理工具。
进一步地,该脚手架管理方案预先设置有使用规范,可对用户输入的查询指令进行验证,若查询指令与预设指令相一致,则根据查询指令查询获得当前所有可用的脚手架模板信息以供用户获知。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种脚手架管理方法,所述脚手架可为项目开发提供初期的基本骨架,其特征在于,应用于与服务器通信连接的用户端,所述服务器预存有包括多个脚手架模板的Git仓库,所述方法包括:
从所述服务器的Git仓库中获取多个脚手架模板,并保存至本地以生成本地仓库;
从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板;
对所述指定脚手架模板进行解压获得解压文件并存放至本地文件夹;
对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件。
2.根据权利要求1所述的脚手架管理方法,其特征在于,所述从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模板的步骤之前,所述方法还包括:
接收查询指令,判断所述查询指令是否与预设指令相一致,若所述查询指令与所述预设指令相一致,则根据所述查询指令查询得到所述Git仓库中的所有脚手架模板信息。
3.根据权利要求1所述的脚手架管理方法,其特征在于,所述指定脚手架模板通过以下步骤获得:
查询所述本地仓库中是否存在与所述待处理的脚手架模板名对应的脚手架模板;
若存在,则从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板,若不存在,则从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板。
4.根据权利要求3所述的脚手架管理方法,其特征在于,在查询得到所述本地仓库中存在与所述待处理的脚手架模板名对应的脚手架模板后,所述方法还包括:
判断当前***模式是否为离线模式,若为离线模式,则执行从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板的步骤,若不为离线模式,则执行从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板的步骤。
5.根据权利要求1所述的脚手架管理方法,其特征在于,所述对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件的步骤,包括:
根据获得的自定义配置表对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件;
所述自定义配置表通过以下步骤获得:
设置指定配置信息并展示,以供用户选择;
接收用户输入的选择结果,并生成与所述选择结果相对应的自定义配置表。
6.一种脚手架管理装置,所述脚手架可为项目开发提供初期的基本骨架,其特征在于,应用于与服务器通信连接的用户端,所述服务器预存有包括多个脚手架模板的Git仓库,所述脚手架管理装置包括:
第一获取模块,用于从所述服务器的Git仓库中获取多个脚手架模板,并保存至本地以生成本地仓库;
第二获取模块,用于从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板;
解压模块,用于对所述指定脚手架模板进行解压获得解压文件并存放至本地文件夹;
配置模块,用于对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件。
7.根据权利要求6所述的脚手架管理装置,其特征在于,所述脚手架管理装置还包括接收模块、判断模块以及第一查询模块;
所述接收模块用于接收查询指令;
所述判断模块用于判断所述查询指令是否与预设指令相一致;
所述第一查询模块用于在所述查询指令与所述预设指令相一致时,根据所述查询指令查询得到所述Git仓库中的所有脚手架模板信息。
8.根据权利要求6所述的脚手架管理装置,其特征在于,所述脚手架管理装置还包括第二查询模块、提取模块以及下载模块;
所述第二查询模块用于查询所述本地仓库中是否存在与所述待处理的脚手架模板名对应的脚手架模板;
所述提取模块用于在所述本地仓库中存在与所述待处理的脚手架模板名对应的脚手架模板时,从所述本地仓库中提取出与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板;
所述下载模块用于在所述本地仓库中不存在与所述待处理的脚手架模板名对应的脚手架模板时,从所述Git仓库中下载获得与所述待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板。
9.一种电子设备,其特征在于,所述电子设备与服务器通信连接,所述服务器预存有包括多个脚手架模板的Git仓库,所述电子设备包括:
存储器;
处理器;及
脚手架管理装置,所述脚手架可为项目开发提供初期的基本骨架,所述脚手架管理装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述脚手架管理装置包括:
第一获取模块,用于从所述服务器的Git仓库中获取多个脚手架模板,并保存至本地以生成本地仓库;
第二获取模块,用于从所述Git仓库或所述本地仓库中获取与待处理的脚手架模板名对应的脚手架模板,作为指定脚手架模板;
解压模块,用于对所述指定脚手架模板进行解压获得解压文件并存放至本地文件夹;
配置模块,用于对所述解压文件中的脚手架代码进行配置,生成所需的脚手架文件。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任意一项所述的脚手架管理方法的步骤。
CN201710547621.5A 2017-07-06 2017-07-06 脚手架管理方法、装置及电子设备 Active CN107273140B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710547621.5A CN107273140B (zh) 2017-07-06 2017-07-06 脚手架管理方法、装置及电子设备
PCT/CN2018/071608 WO2019007016A1 (zh) 2017-07-06 2018-01-05 脚手架管理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710547621.5A CN107273140B (zh) 2017-07-06 2017-07-06 脚手架管理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN107273140A CN107273140A (zh) 2017-10-20
CN107273140B true CN107273140B (zh) 2018-09-21

Family

ID=60071826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710547621.5A Active CN107273140B (zh) 2017-07-06 2017-07-06 脚手架管理方法、装置及电子设备

Country Status (2)

Country Link
CN (1) CN107273140B (zh)
WO (1) WO2019007016A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273140B (zh) * 2017-07-06 2018-09-21 武汉斗鱼网络科技有限公司 脚手架管理方法、装置及电子设备
CN108182056A (zh) * 2017-12-28 2018-06-19 天脉聚源(北京)科技有限公司 一种智能配置多个网络页面的框架的方法及装置
CN110580152B (zh) * 2018-06-07 2023-05-12 北京怡合春天科技有限公司 一种前端自动化脚手架
CN109343835A (zh) * 2018-08-28 2019-02-15 苏州浪潮智能软件有限公司 一种基于模板的快速构建业务脚手架代码工具
CN109683887B (zh) * 2018-12-17 2022-04-26 杭州玳数科技有限公司 一种支持多方案自定义web项目的构建方法及装置
CN112015375A (zh) * 2020-08-21 2020-12-01 广州欢网科技有限责任公司 后台管理***创建方法、装置及电子设备
CN113419730A (zh) * 2021-06-22 2021-09-21 中电金信软件有限公司 前端工程构建方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461743A (zh) * 2014-12-17 2015-03-25 用友软件股份有限公司 资源和配置的自动生成装置和方法
CN105989098A (zh) * 2015-02-12 2016-10-05 阿里巴巴集团控股有限公司 图标包的生成方法及服务器、图标的处理方法及***
CN106095408A (zh) * 2016-05-31 2016-11-09 浙江网新恒天软件有限公司 一种数据监控和代码自动生成与部署的***及方法
CN106095442A (zh) * 2016-06-13 2016-11-09 福州智永信息科技有限公司 基于web的自动高速出包方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072138A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 맞춤형 소프트웨어 제공 장치 및 방법, 그리고 소프트웨어 맞춤화 방법
US20150254073A1 (en) * 2012-08-01 2015-09-10 Sherpa Technologies Inc. System and Method for Managing Versions of Program Assets
CN106843869B (zh) * 2017-01-16 2020-04-14 百融云创科技股份有限公司 一种前端开发工程化***和方法
CN107273140B (zh) * 2017-07-06 2018-09-21 武汉斗鱼网络科技有限公司 脚手架管理方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461743A (zh) * 2014-12-17 2015-03-25 用友软件股份有限公司 资源和配置的自动生成装置和方法
CN105989098A (zh) * 2015-02-12 2016-10-05 阿里巴巴集团控股有限公司 图标包的生成方法及服务器、图标的处理方法及***
CN106095408A (zh) * 2016-05-31 2016-11-09 浙江网新恒天软件有限公司 一种数据监控和代码自动生成与部署的***及方法
CN106095442A (zh) * 2016-06-13 2016-11-09 福州智永信息科技有限公司 基于web的自动高速出包方法

Also Published As

Publication number Publication date
CN107273140A (zh) 2017-10-20
WO2019007016A1 (zh) 2019-01-10

Similar Documents

Publication Publication Date Title
CN107273140B (zh) 脚手架管理方法、装置及电子设备
CN110119294A (zh) 菜单页面的生成方法、装置及***
CN108762767B (zh) 应用发布方法、装置及计算机可读存储介质
CN113312083B (zh) 应用生成方法、装置及设备
CN106843976A (zh) 用于生成镜像文件的方法和装置
CN105302925A (zh) 推送语音搜索数据的方法和装置
CN114785685A (zh) 软件差分升级方法、装置、电子设备及可读存储介质
CN114398672A (zh) 基于权限的流程创建方法、装置以及存储介质
CN111984248B (zh) 页面编辑方法和装置、存储介质及电子装置
CN110109684B (zh) 区块链节点管理代理服务安装方法、电子装置及存储介质
CN109976832A (zh) 一种提供寄宿程序的方法与设备
CN111488286B (zh) 一种Android模块独立开发的方法及装置
Bento An Experiment with Arduino Uno and Tft Nextion for Internet of Things
CN110765610A (zh) Pdm集成方法、装置、计算机设备及存储介质
CN116089739A (zh) 消息推送方法、装置、电子设备和存储介质
CN109359384B (zh) 一种将丝印标识调入印刷电路板的方法及装置
CN112380031A (zh) 跨应用实时推送消息的方法、装置及计算设备
CN107273398A (zh) 人机接口***和用于操作其的方法
CN109189370B (zh) 软件组件的生成方法、装置、设备及计算机可读存储介质
Michahelles et al. Toward a web of systems
Chaplin et al. Deployment of a distributed multi-agent architecture for transformable assembly
CN110471708A (zh) 基于可重用组件的配置项获取的方法及装置
CN111209613A (zh) 一种智能产品的快速设计方法及***
CN106796512B (zh) 投影工作空间的方法以及应用该投影工作空间的方法的***
CN115460077B (zh) 配置信息的更新方法、装置、存储介质及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant