CN109739478A - 前端项目自动化构建方法、装置、存储介质及电子设备 - Google Patents
前端项目自动化构建方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN109739478A CN109739478A CN201811582913.3A CN201811582913A CN109739478A CN 109739478 A CN109739478 A CN 109739478A CN 201811582913 A CN201811582913 A CN 201811582913A CN 109739478 A CN109739478 A CN 109739478A
- Authority
- CN
- China
- Prior art keywords
- code
- building
- answer
- file
- end project
- 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.)
- Granted
Links
Abstract
本发明提供了一种前端项目自动化构建方法、前端项目自动化构建装置、计算机可读存储介质及电子设备,该方法包括:根据交互式问答结果,生成配置文件;根据所述配置文件生成代码依赖;获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建。本发明的技术方案不仅能够实现前端项目构建过程的自动化执行,而且能够提高前端项目的构建速度以及开发人员的开发效率。
Description
技术领域
本发明涉及前端开发技术领域,具体而言,涉及一种前端项目自动化构建方法、前端项目自动化构建装置、计算机可读存储介质及电子设备。
背景技术
随着前端技术的快速发展,前端项目的业务逻辑和交互效果越来越复杂,同时,前端项目形式和模块变得多元化,前端项目需要不断进行维护和迭代,使得项目的管理难度和开发难度增加。因而,如何简化前端开发步骤,实现前端项目的自动化构建,成为相关人员关注的焦点问题。
现有技术中,前端项目的开发人员在开发过程中不仅要专注于开发业务代码的编写,同时,还要通过编写构建代码以保证构建过程的正常运行,因而,开发步骤繁琐、效率较低。
因此,现有技术中的前端项目自动化构建方法的效率有待提高。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种前端项目自动化构建方法、前端项目自动化构建装置、存储介质及电子设备,进而至少在一定程度上克服现有技术中的前端项目自动化构建方法构建过程繁琐复杂、效率较低的缺陷。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种前端项目自动化构建方法,包括:根据交互式问答结果,生成配置文件;根据所述配置文件构建生成代码依赖;获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建。
在本发明的一些实施例中,基于前述方案,所述根据交互式问答结果,生成配置文件,包括:根据第一交互式问答结果,确定构建框架;基于所述构建框架,根据第二交互式问答结果,确定构建模板;基于所述构建模板,生成配置文件。
在本发明的一些实施例中,基于前述方案,基于所述构建框架,根据第二交互式问答结果,确定构建模板,包括:根据所述构建框架,确定所述构建框架的框架依赖;在所述框架依赖下,根据所述第二交互式问答结果,确定所述构建模板。
在本发明的一些实施例中,基于前述方案,所述根据所述配置文件生成代码依赖,包括:基于包管理器对所述配置文件进行依赖分离,获得构建代码依赖。
在本发明的一些实施例中,基于前述方案,所述根据所述代码依赖对所述业务代码进行处理,包括:根据所述代码依赖,对所述业务代码进行分割,生成分割代码;对所述分割代码对应的模块文件进行合并,生成合并代码文件;对所述合并代码文件进行压缩,生成输出代码文件。
在本发明的一些实施例中,基于前述方案,所述方法还包括:根据第三交互式问答结果,确定配置环境。
在本发明的一些实施例中,基于前述方案,确定所述配置环境为开发环境,所述方法还包括:当获取到新的业务代码时,检测所述代码依赖是否构建完成;当所述代码依赖构建完成,则对所述新的业务代码再次进行自动化构建,输出构建结果。
在本发明的一些实施例中,基于前述方案,确定所述配置环境为测试环境或生产环境,所述方法还包括:根据第四交互式问答结果,确定是否将所述输出代码文件打包输出。
根据本发明实施例的第二方面,提供了一种前端项目自动化构建装置,包括:配置模块,用于根据交互式问答结果,生成配置文件;构建模块,用于根据所述配置文件生成代码依赖;处理模块,用于获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述自动化构建。
根据本发明实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的前端项目自动化构建方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的前端项目自动化构建方法。
本发明实施例提供的技术方案可以包括以下有益效果:
在本发明的一些实施例所提供的技术方案中,一方面,通过根据交互式问答结果,生成配置文件,能够提高配置文件的生成速度;进一步的,根据所述配置文件生成代码依赖,使得开发人员只需专注于业务代码的书写即可,无需在项目构建过程耗费精力,简化了开发步骤,减轻了项目开发难度;另一方面,获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建,能够减少代码执行的出错率,从而有效提升开发人员的开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的实施例的前端项目自动化构建方法流程图;
图2示意性示出了根据本发明的另一实施例的前端项目自动化构建方法流程图;
图3示意性示出了根据本发明的再一实施例的前端项目自动化构建方法流程图;
图4示意性示出了根据本发明的又一实施例的前端项目自动化构建方法流程图;
图5示意性示出了根据本发明的实施例的前端项目自动化构建装置框图;
图6示出了适于用来实现本发明实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
现有技术中,前端项目的开发人员在开发过程中不仅要专注于开发业务代码的编写,同时,还要通过编写构建代码以保证构建步骤的正常运行,因而,步骤繁琐,开发人员的出错率较高、效率较低,项目整体运行性能较差。因此,采用现有技术中的前端项目自动化构建方法,并不能对前端项目进行有效构建,其效率有待提高。
在本实施例中,首先提供了一种前端项目自动化构建方法,至少在一定程度上克服现有技术中提供的前端项目自动化构建方法构建过程繁琐复杂、效率较低的缺陷。
图1示意性示出了根据本发明的一个实施例的前端项目自动化构建方法流程图,该前端项目自动化构建方法的执行主体可以是对前端项目进行自动化构建的服务器。
参考图1,根据本发明的一个实施例的前端项目自动化构建方法包括以下步骤:
步骤S110,根据交互式问答结果,生成配置文件;
步骤S120,根据所述配置文件生成代码依赖;
步骤S130,获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建。
在图1所示实施例所提供的技术方案中,一方面,通过根据交互式问答结果,生成配置文件,能够提高配置文件的生成速度;进一步的,根据所述配置文件生成代码依赖,使得开发人员只需专注于业务代码的书写即可,无需在项目构建过程耗费精力,简化了开发步骤,减轻了项目开发难度;另一方面,获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建,能够减少代码执行的出错率,从而有效提升开发人员的开发效率。
以下对图1中的各个步骤的具体实现过程进行详细阐述:
在步骤S110中,根据交互式问答结果,生成配置文件。
在示例性的实施例中,交互式问答是一种开发人员和服务器之间存在交互作用的信息处理方式,其处理过程可以是开发人员通过服务器输入信息和操作命令,服务器接到后立即处理,并通过终端设备显示交互式问答结果;还可以是服务器通过终端设备显示当前可选择的交互式问答,开发人员点击或者触摸以确定交互式问答结果。交互式问答的具体实施方式可以根据实际情况自行设定,属于本发明的保护范围。交互式问答的处理方式,具有灵活、直观、便于控制的优点,能够节省开发时间,提高开发人员的开发效率。
在示例性的实施例中,可以根据与开发人员的交互式问答结果,生成配置文件。
在示例性的实施例中,图2示意性示出了根据本发明另一实施例的前端项目自动化构建方法流程图,具体示出根据交互式问答结果,生成配置文件的流程图,以下结合图2对步骤S110进行解释。
在步骤S201中,根据第一交互式问答结果,确定构建框架。
在示例性的实施例中,构建框架是指用于简化网页设计的框架,比如,jquery,extjs,bootstrap等等,这些框架中封装了一些具体的功能,比如html(HyperText MarkupLanguage,简称:html,超文本标记语言)文档操作,漂亮的各种控件(按钮,表单等等),使用构建框架可以降低界面开发周期、提高界面的美观性。
在示例性的实施例中,本发明至少集成Angular框架、React框架和Vue框架,开发者可通过第一交互式问答的命令来进行选择相应框架的依赖并自动安装,安装完依赖后可以直接使用,如需加入其它第三方依赖,可以自行安装,通过ESM(ECMA Script Module,ES标准模块,具有通用性且方便第三方模块兼容和打包)导入使用即可。Angular框架是基于TypeScript(Javascript超集)的Javascript框架,React框架是为用于构建用户界面的JavaScript库,Vue为一款用于构建直观,快速和组件化交互式界面的MVVM(Model-View-ViewModel,简称:MVVM)框架。
在步骤S202中,基于所述构建框架,根据第二交互式问答结果,确定构建模板。
在示例性的实施例中,在确定构建框架之后,需要根据第二交互式问答结果,确定构建模板。
在示例性的实施例中,图3示意性示出了根据本发明再一实施例的前端项目自动化构建方法流程图,具体示出基于所述构建框架,根据第二交互式问答结果,确定构建模板的流程图,以下结合图3对步骤S202进行解释。
在步骤S301中,根据所述构建框架,确定框架依赖。
在示例性的实施例中,在确定构建框架之后,需要进一步确定上述构建框架对应的框架依赖,即确定构建框架相关的构建代码。
在步骤S302中,在所述框架依赖下,根据所述第二交互式问答结果,确定所述构建模板。
在示例性的实施例中,在根据构建框架确定框架依赖之后,需要在上述框架依赖下,根据第二交互式问答结果,确定出构建模板。
在示例性的实施例中,构建模板的本质是可以转换函数的字符串,使用构建模板可以将函数放进一个充满数据的对象后,还原为一个全新的字符串。本发明至少集成SPA(Single Page Application,单页面应用,简称:SPA)、MPA(Multi-page Application,多页面应用,简称:MPA)和PWA(Progressive Web Application,渐进式网站应用,简称:PWA)三种模板。
在示例性的实施例中,在确定构建模板之后,还需要根据第三交互式问答结果,确定配置环境,配置环境可以是开发环境、测试环境或生产环境;开发环境用于构建过程,即得到输出代码文件之前的过程。测试环境或生产环境用于当前端项目构建完成时,即得到输出代码文件之后,可以在测试环境或生产环境中对输出代码文件进行测试或者发布应用。
在步骤S203中,基于所述构建模板,生成配置文件。
在示例性的实施例中,配置文件对应前端项目构建过程中选择构建框架、构建模板时对应的构建代码的组合文件,配置文件中还包含构建代码依赖、业务代码依赖以及其它开发人员根据需要自行导入的第三方依赖。在上述确定构建框架以及构建模板之后,开发人员可以对项目中的其它模板,例如:项目目录模板、页面路由模板、状态管理模板和框架组件模板进行适当的选择搭配,从而生成开发人员想要的配置文件。
在步骤S120中,根据所述配置文件生成代码依赖。
在示例性的实施例中,在得到配置文件之后,需要基于npm包管理器(npm包是NodeJS的模块管理器)对配置文件中包含的依赖进行分离,以生成构建代码依赖、业务代码依赖以及其它第三方依赖,构建代码依赖可以用于对构建代码的处理过程中,业务代码依赖可以用于对业务代码的处理过程中,第三方依赖可以用于开发人员的其它开发需要过程中。
在步骤S130中,获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建。
在示例性的实施例中,在生成代码依赖之后,可以获取业务代码,进而,根据上述代码依赖中的业务代码依赖对业务代码进行处理。
在示例性的实施例中,图4示意性示出了根据本发明又一实施例的前端项目自动化构建方法流程图,具体示出根据所述代码依赖对所述业务代码进行处理的流程图,以下结合图4对步骤S130进行解释。
在步骤S401中,根据所述代码依赖,对所述业务代码进行分割,生成分割代码。
在示例性的实施例中,需要先对业务代码进行校验和转换。进行代码校验是为了在验证代码输入正确性的同时,解决开发人员的代码书写习惯和逻辑编写风格不一致的现象。本发明至少集成Stylelint(CSS校验)和Eslint(JS校验)校验工具,通过代码校验,能够在检查代码正确度的同时,达到统一代码风格和保证代码统一性的效果,便于开发人员及时改正一些代码错误,并且快速入手和读懂代码。
在示例性的实施例中,在对业务代码进行校验之后,鉴于如今前端开发有多种代码编写标准以及语法标准,而大多数标准并不能在大部分浏览器下直接运行,因此,本发明至少集成Sass(CSS预处理)、Babel(JS编译)和TypeScript(JS扩展),能够把校验之后的业务代码转换成当前浏览器能解析、识别的业务代码。通过代码转换,使得业务代码的结构一目了然,增强了业务代码的可维护性。
在示例性的实施例中,对应于校验、转换之后的业务代码,基于不同的代码类型对应不同的代码依赖,可以根据业务代码依赖对其进行分割,生成分割代码。代码分割的目的是将业务代码中包含的多种业务代码进行分离,例如:业务代码里面可以包含HTML代码、CSS代码和JS代码;示例性的,可以对业务代码进行同步分割或者异步分割,把业务代码分割为对应的HTML模块文件、CSS模块文件以及JS模块文件。
在步骤S402中,对所述分割代码对应的模块文件进行合并,生成合并代码文件。
在示例性的实施例中,对分割代码对应的模块文件进行合并,生成合并代码文件,即将对应的HTML模块文件、CSS模块文件以及JS模块文件进行合并,生成合并代码文件。通过对模块文件进行合并,有助于在后续的代码处理中让HTML入口文件减少依赖文件的请求数,使之加载更少的文件,以提高加载速度和渲染速度,从而提高运行性能。
在步骤S403中,对所述合并代码文件进行压缩,生成输出代码文件。
在示例性的实施例中,在得到合并代码文件之后,该文件的体积较大,如果直接对其进行打包输出,那么,开发人员在开发过程中书写的调试代码以及无意间书写的其他代码都会被打包进去,从而导致输出代码文件内存占有量过大,***运行性能降低。因而,本发明至少集成Purifycss(CSS压缩)、Uglifyjs(JS压缩)、Imagemin(图像压缩)、Fontspider(字体压缩)和Gzip(GNUzip的缩写,用于UNIX***的文件压缩)压缩,可以根据实际需要调用其中的一个或多个压缩方法,压缩合并图像和字体,去除无用和重复的代码,以达到减小输出代码文件的体积和资源占有量、最大化输出最小体积的文件,提高前端项目运行性能的技术效果。
在示例性的实施例中,在开发环境中,当再次获取到新的业务代码时,需要检测代码依赖是否构建完成;当代码依赖构建完成,则对获取到的新的业务代码再次进行自动化构建,输出构建结果,即得到输出代码文件。
在示例性的实施例中,在得到输出代码文件之后,可以根据第三交互式问答结果确定是否将配置环境转为测试环境或生产环境,待进入测试环境或生产环境之后,可以与开发人员进行第四交互式问答,得到第四交互式问答结果,以确定是否将得到的输出代码文件打包输出并发布。因而,能够实现输出代码文件的快速发布,从而简化了发布流程。
以下介绍本发明的装置实施例,可以用于执行本发明上述的前端项目自动化构建方法。
图5示意性示出了根据本发明的一个实施例的前端项目自动化构建装置框图,该前端项目自动化构建装置可以设置在对前端项目进行自动化构建的服务器中。
参照图5所示,根据本发明的一个实施例的前端项目自动化构建装置框图500,包括如下模块:配置模块501、构建模块502以及处理模块503,以下详细进行阐述:
配置模块501,用于根据交互式问答结果,生成配置文件。
在示例性的实施例中,配置模块用于根据第一交互式问答结果,确定构建框架;基于所述构建框架,根据第二交互式问答结果,确定构建模板;基于所述构建模板,生成配置文件。
构建模块502,用于根据所述配置文件生成代码依赖。
在示例性的实施例中,构建模块用于基于包管理器对所述配置文件进行依赖分离,获得代码依赖。
处理模块503,用于获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建。
在示例性的实施例中,处理模块用于根据所述代码依赖,对所述业务代码进行分割,生成分割代码;对所述分割代码对应的模块文件进行合并,生成合并代码文件;对所述合并代码文件进行压缩,生成输出代码文件。以完成对所述前端项目的自动化构建。
由于本发明的示例实施例的前端项目自动化构建装置的各个功能模块与上述前端项目自动化构建方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的前端项目自动化构建方法的实施例。
下面参考图6,其示出了适于用来实现本发明实施例的电子设备的计算机***600的结构示意图。图6示出的电子设备的计算机***600仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机***600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的前端项目自动化构建方法。
例如,所述的电子设备可以实现如图1中所示的:步骤S110,根据交互式问答结果,生成配置文件;步骤S120,根据所述配置文件生成代码依赖;步骤S130,获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建。
又如,所述的电子设备可以实现如图2-4任一图所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (11)
1.一种前端项目自动化构建方法,其特征在于,包括:
根据交互式问答结果,生成配置文件;
根据所述配置文件生成代码依赖;
获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述前端项目的自动化构建。
2.根据权利要求1所述的方法,其特征在于,所述根据交互式问答结果,生成配置文件,包括:
根据第一交互式问答结果,确定构建框架;
基于所述构建框架,根据第二交互式问答结果,确定构建模板;
基于所述构建模板,生成配置文件。
3.根据权利要求2所述的方法,其特征在于,基于所述构建框架,根据第二交互式问答结果,确定构建模板,包括:
根据所述构建框架,确定框架依赖;
在所述框架依赖下,根据所述第二交互式问答结果,确定所述构建模板。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述配置文件生成代码依赖,包括:
基于包管理器对所述配置文件进行依赖分离,获得代码依赖。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述代码依赖对所述业务代码进行处理,包括:
根据所述代码依赖,对所述业务代码进行分割,生成分割代码;
对所述分割代码对应的模块文件进行合并,生成合并代码文件;
对所述合并代码文件进行压缩,生成输出代码文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据第三交互式问答结果,确定配置环境。
7.根据权利要求6所述的方法,其特征在于,确定所述配置环境为开发环境,所述方法还包括:
当获取到新的业务代码时,检测所述代码依赖是否构建完成;
当所述代码依赖构建完成,则对所述新的业务代码再次进行自动化构建,输出构建结果。
8.根据权利要求6所述的方法,其特征在于,确定所述配置环境为测试环境或生产环境,所述方法还包括:
根据第四交互式问答结果,确定是否将所述输出代码文件打包输出。
9.一种前端项目自动化构建装置,其特征在于,包括:
配置模块,用于根据交互式问答结果,生成配置文件;
构建模块,用于根据所述配置文件生成代码依赖;
处理模块,用于获取业务代码,根据所述代码依赖对所述业务代码进行处理,以完成对所述自动化构建。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至8中任一项所述的前端项目自动化构建的方法。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的前端项目自动化构建的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811582913.3A CN109739478B (zh) | 2018-12-24 | 2018-12-24 | 前端项目自动化构建方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811582913.3A CN109739478B (zh) | 2018-12-24 | 2018-12-24 | 前端项目自动化构建方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739478A true CN109739478A (zh) | 2019-05-10 |
CN109739478B CN109739478B (zh) | 2022-12-06 |
Family
ID=66361032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811582913.3A Active CN109739478B (zh) | 2018-12-24 | 2018-12-24 | 前端项目自动化构建方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739478B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647320A (zh) * | 2019-08-14 | 2020-01-03 | 平安普惠企业管理有限公司 | 项目框架的构建方法、装置、计算机设备和存储介质 |
CN110659062A (zh) * | 2019-09-20 | 2020-01-07 | 贝壳技术有限公司 | 前端脚手架的配置方法和装置、可读存储介质、电子设备 |
CN110704101A (zh) * | 2019-09-06 | 2020-01-17 | 平安普惠企业管理有限公司 | 代码文件构建方法、装置、设备及计算机可读存储介质 |
CN110879702A (zh) * | 2019-11-21 | 2020-03-13 | 大唐网络有限公司 | 一种实现智能语音外呼***内可视化话术配置的方法 |
CN111273898A (zh) * | 2020-02-25 | 2020-06-12 | 安徽以萨数据技术有限公司 | web前端代码自动化构建方法、***及存储介质 |
CN111562940A (zh) * | 2020-04-26 | 2020-08-21 | 北京金堤科技有限公司 | 项目数据构建方法以及装置 |
CN112099794A (zh) * | 2020-09-28 | 2020-12-18 | 中国银行股份有限公司 | 前端项目构建方法及装置 |
CN112162742A (zh) * | 2020-08-21 | 2021-01-01 | 长沙市到家悠享网络科技有限公司 | 代码部署方法、装置、设备 |
CN112199080A (zh) * | 2020-09-28 | 2021-01-08 | 上海上讯信息技术股份有限公司 | vuejs项目webpack构建方法及设备 |
CN112346888A (zh) * | 2020-11-04 | 2021-02-09 | 网易(杭州)网络有限公司 | 一种基于软件应用的数据通讯方法、装置以及服务端设备 |
CN113254019A (zh) * | 2020-02-10 | 2021-08-13 | 北京沃东天骏信息技术有限公司 | 注册前端数据流状态文件的方法和装置 |
CN113312056A (zh) * | 2021-06-16 | 2021-08-27 | 浪潮云信息技术股份公司 | angular大型集成项目的国际化实现方法、电子设备及存储介质 |
CN113608746A (zh) * | 2021-08-16 | 2021-11-05 | 北京字节跳动网络技术有限公司 | 一种代码转换处理方法、装置、计算机设备和存储介质 |
CN114995801A (zh) * | 2022-05-18 | 2022-09-02 | 北京寄云鼎城科技有限公司 | 一种基于物联网平台的可视化应用开发方法和开发*** |
US11681772B2 (en) | 2021-08-13 | 2023-06-20 | Capital One Services, Llc | Systems, methods, and media enabling streamlined user experiences across progressive web applications |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027871A1 (en) * | 2003-06-05 | 2005-02-03 | William Bradley | Interoperable systems and methods for peer-to-peer service orchestration |
US20060068791A1 (en) * | 2004-09-27 | 2006-03-30 | Bengt Lindoff | Derivation of optimal antenna weights during soft handover |
CN102637157A (zh) * | 2011-02-15 | 2012-08-15 | 郑磊 | 一种片上数字模板***dtsoc |
CN103391213A (zh) * | 2012-05-11 | 2013-11-13 | 中兴通讯股份有限公司 | 一种部署应用的方法、用户前端设备及应用部署*** |
CN104536744A (zh) * | 2014-12-19 | 2015-04-22 | 微梦创科网络科技(中国)有限公司 | 一种自动化构建与部署代码的方法及服务器 |
CN105956830A (zh) * | 2016-05-11 | 2016-09-21 | 中煤电气有限公司 | 一种基于j2ee框架的企业级可视化应用开发平台 |
CN106502663A (zh) * | 2016-10-17 | 2017-03-15 | 成都知道创宇信息技术有限公司 | 一种前端项目框架生成方法 |
CN106843869A (zh) * | 2017-01-16 | 2017-06-13 | 百融(北京)金融信息服务股份有限公司 | 一种前端开发工程化***和方法 |
CN107423053A (zh) * | 2017-06-15 | 2017-12-01 | 东莞理工学院 | 一种遥感图像处理的web化模型封装与分布式处理方法 |
CN108038241A (zh) * | 2018-03-01 | 2018-05-15 | 上海品顺信息科技有限公司 | 集成web可视化工作流方法、装置、可读存储介质及*** |
CN108268283A (zh) * | 2016-12-31 | 2018-07-10 | 英特尔公司 | 用于利用约简操作来支持数据并行循环的计算引擎架构 |
-
2018
- 2018-12-24 CN CN201811582913.3A patent/CN109739478B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027871A1 (en) * | 2003-06-05 | 2005-02-03 | William Bradley | Interoperable systems and methods for peer-to-peer service orchestration |
US20060068791A1 (en) * | 2004-09-27 | 2006-03-30 | Bengt Lindoff | Derivation of optimal antenna weights during soft handover |
CN102637157A (zh) * | 2011-02-15 | 2012-08-15 | 郑磊 | 一种片上数字模板***dtsoc |
CN103391213A (zh) * | 2012-05-11 | 2013-11-13 | 中兴通讯股份有限公司 | 一种部署应用的方法、用户前端设备及应用部署*** |
CN104536744A (zh) * | 2014-12-19 | 2015-04-22 | 微梦创科网络科技(中国)有限公司 | 一种自动化构建与部署代码的方法及服务器 |
CN105956830A (zh) * | 2016-05-11 | 2016-09-21 | 中煤电气有限公司 | 一种基于j2ee框架的企业级可视化应用开发平台 |
CN106502663A (zh) * | 2016-10-17 | 2017-03-15 | 成都知道创宇信息技术有限公司 | 一种前端项目框架生成方法 |
CN108268283A (zh) * | 2016-12-31 | 2018-07-10 | 英特尔公司 | 用于利用约简操作来支持数据并行循环的计算引擎架构 |
CN106843869A (zh) * | 2017-01-16 | 2017-06-13 | 百融(北京)金融信息服务股份有限公司 | 一种前端开发工程化***和方法 |
CN107423053A (zh) * | 2017-06-15 | 2017-12-01 | 东莞理工学院 | 一种遥感图像处理的web化模型封装与分布式处理方法 |
CN108038241A (zh) * | 2018-03-01 | 2018-05-15 | 上海品顺信息科技有限公司 | 集成web可视化工作流方法、装置、可读存储介质及*** |
Non-Patent Citations (2)
Title |
---|
N. ZHANG 等: "Research of web front-end engineering solution in public cultural service project", 《2017 IEEE/ACIS 16TH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE (ICIS)》 * |
葛美红 等: "编译前端分析自动构件化代码可靠性加强方法", 《计算机科学与探索》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647320A (zh) * | 2019-08-14 | 2020-01-03 | 平安普惠企业管理有限公司 | 项目框架的构建方法、装置、计算机设备和存储介质 |
CN110704101A (zh) * | 2019-09-06 | 2020-01-17 | 平安普惠企业管理有限公司 | 代码文件构建方法、装置、设备及计算机可读存储介质 |
CN110659062A (zh) * | 2019-09-20 | 2020-01-07 | 贝壳技术有限公司 | 前端脚手架的配置方法和装置、可读存储介质、电子设备 |
CN110659062B (zh) * | 2019-09-20 | 2023-09-29 | 贝壳技术有限公司 | 前端脚手架的配置方法和装置、可读存储介质、电子设备 |
CN110879702A (zh) * | 2019-11-21 | 2020-03-13 | 大唐网络有限公司 | 一种实现智能语音外呼***内可视化话术配置的方法 |
CN113254019A (zh) * | 2020-02-10 | 2021-08-13 | 北京沃东天骏信息技术有限公司 | 注册前端数据流状态文件的方法和装置 |
CN111273898A (zh) * | 2020-02-25 | 2020-06-12 | 安徽以萨数据技术有限公司 | web前端代码自动化构建方法、***及存储介质 |
CN111273898B (zh) * | 2020-02-25 | 2024-03-19 | 安徽以萨数据技术有限公司 | web前端代码自动化构建方法、***及存储介质 |
CN111562940A (zh) * | 2020-04-26 | 2020-08-21 | 北京金堤科技有限公司 | 项目数据构建方法以及装置 |
CN111562940B (zh) * | 2020-04-26 | 2024-02-27 | 北京金堤科技有限公司 | 项目数据构建方法以及装置 |
CN112162742A (zh) * | 2020-08-21 | 2021-01-01 | 长沙市到家悠享网络科技有限公司 | 代码部署方法、装置、设备 |
CN112199080A (zh) * | 2020-09-28 | 2021-01-08 | 上海上讯信息技术股份有限公司 | vuejs项目webpack构建方法及设备 |
CN112199080B (zh) * | 2020-09-28 | 2023-02-17 | 上海上讯信息技术股份有限公司 | vuejs项目webpack构建方法及设备 |
CN112099794A (zh) * | 2020-09-28 | 2020-12-18 | 中国银行股份有限公司 | 前端项目构建方法及装置 |
CN112346888A (zh) * | 2020-11-04 | 2021-02-09 | 网易(杭州)网络有限公司 | 一种基于软件应用的数据通讯方法、装置以及服务端设备 |
CN113312056A (zh) * | 2021-06-16 | 2021-08-27 | 浪潮云信息技术股份公司 | angular大型集成项目的国际化实现方法、电子设备及存储介质 |
CN113312056B (zh) * | 2021-06-16 | 2022-04-19 | 浪潮云信息技术股份公司 | angular大型集成项目的国际化实现方法、电子设备及存储介质 |
US11681772B2 (en) | 2021-08-13 | 2023-06-20 | Capital One Services, Llc | Systems, methods, and media enabling streamlined user experiences across progressive web applications |
CN113608746A (zh) * | 2021-08-16 | 2021-11-05 | 北京字节跳动网络技术有限公司 | 一种代码转换处理方法、装置、计算机设备和存储介质 |
CN113608746B (zh) * | 2021-08-16 | 2023-10-27 | 北京字节跳动网络技术有限公司 | 一种代码转换处理方法、装置、计算机设备和存储介质 |
CN114995801A (zh) * | 2022-05-18 | 2022-09-02 | 北京寄云鼎城科技有限公司 | 一种基于物联网平台的可视化应用开发方法和开发*** |
Also Published As
Publication number | Publication date |
---|---|
CN109739478B (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739478A (zh) | 前端项目自动化构建方法、装置、存储介质及电子设备 | |
US10942708B2 (en) | Generating web API specification from online documentation | |
CN109446099A (zh) | 自动化测试用例生成方法、装置、介质及电子设备 | |
CN109271403A (zh) | 一种数据查询的操作方法、装置、介质及电子设备 | |
CN110109979A (zh) | 一种配置表单选项方法和装置 | |
CN110531962A (zh) | 小程序的开发处理方法、设备及计算机可读存储介质 | |
CN109634490A (zh) | 一种列表显示方法、装置、设备及存储介质 | |
CN110377289A (zh) | 一种数据解析方法、装置、介质和电子设备 | |
CN113254445B (zh) | 实时数据存储方法、装置、计算机设备及存储介质 | |
CN110858172A (zh) | 一种自动化测试代码生成方法和装置 | |
CN111176629A (zh) | 一种应用开发的方法和装置 | |
CN110059011A (zh) | 接口测试方法、装置、介质及电子设备 | |
CN109799985A (zh) | 前端代码生成方法及装置、存储介质及电子设备 | |
CN110489087A (zh) | 一种生成分形结构的方法、装置、介质和电子设备 | |
CN110263287A (zh) | 页面渲染方法及设备 | |
CN109582317A (zh) | 用于调试寄宿应用的方法和装置 | |
CN113407882A (zh) | 组件生成方法、装置、计算机可读存储介质及电子设备 | |
CN110020349A (zh) | 页面渲染的方法及装置 | |
CN107347093A (zh) | 用于分布式服务器***的配置方法和装置 | |
CN111078228A (zh) | 网页到小程序的转换方法、装置、服务器及存储介质 | |
CN110489159A (zh) | 安装包精简方法及数据解析方法、装置、介质和设备 | |
CN110489165A (zh) | 获取调用栈栈帧指令偏移的方法、装置、介质和设备 | |
CN114217789A (zh) | 功能组件拓展方法、装置、设备、存储介质及程序产品 | |
CN109299124A (zh) | 用于更新模型的方法和装置 | |
CN108959294A (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 |