CN110968339B - 前端构建工具的方法、装置以及电子设备 - Google Patents
前端构建工具的方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN110968339B CN110968339B CN201911219093.6A CN201911219093A CN110968339B CN 110968339 B CN110968339 B CN 110968339B CN 201911219093 A CN201911219093 A CN 201911219093A CN 110968339 B CN110968339 B CN 110968339B
- Authority
- CN
- China
- Prior art keywords
- command
- file
- module
- modules
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种前端构建工具的方法、装置以及电子设备,涉及计算机技术领域,该方法包括:在packjson文件中划分至少两个模块,至少两个模块中包括命令运行模块;接收用户在命令运行模块中输入的命令,命令中包括至少一个第一模块标识;确定至少一个第一模块标识分别对应的第一模块;基于各个第一模块中的配置信息,获取相应的目标文件,其中,第一模块为至少两个模块中不同于命令运行模块的模块;基于命令,对目标文件进行处理。本申请可以在node环境下实现前端项目工具的构建。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种前端构建工具的方法、装置以及电子设备。
背景技术
构建工具是将本地源文件按照一定的逻辑规范,编译打包成浏览器识别的文件,然后推送到相应服务器环境下供展示的一种前端工具。目前,由于运行于普通浏览器里的JS(JavaScript)运行时跳不出浏览器这个沙盒,无法直接操作文件,而这是构建工具必须具备的底层功能,这时的JS不是一种系统编程语言,无法实现前端工具的构建。
发明内容
为了解决现有技术中所存在的问题中的至少一个,本申请实施例提供了一种前端构建工具的方法、装置以及电子设备,本申请实施例所提供的技术方案如下:
本申请的第一方面提供了一种前端构建工具的方法,该方法应用于node服务环境,该方法包括:
在packjson文件中划分至少两个模块,至少两个模块中包括命令运行模块;
接收用户在命令运行模块中输入的命令,命令中包括至少一个第一模块标识;
确定至少一个第一模块标识分别对应的第一模块;
基于各个第一模块中的配置信息,获取相应的目标文件,其中,第一模块为至少两个模块中不同于命令运行模块的模块;
基于命令,对目标文件进行处理。
本申请的第二方面提供了一种前端构建工具的装置,该装置应用于node服务环境,该装置包括:
划分模块,用于在packjson文件中划分至少两个模块,至少两个模块中包括命令运行模块;
接收模块,用于接收用户在命令运行模块中输入的命令,命令中包括至少一个第一模块标识;
确定模块,用于确定至少一个第一模块标识分别对应的第一模块;
获取模块,用于基于各个第一模块中的配置信息,获取相应的目标文件,其中,第一模块为至少两个模块中不同于命令运行模块的模块;
处理模块,用于基于命令,对目标文件进行处理。
可选的,若任一第一模块的配置信息包括文件存储路径信息;
获取模块在基于各个第一模块中的配置信息,获取相应的目标文件时,具体用于:
基于文件存储路径信息获取目标文件。
可选的,获取模块在基于文件存储路径信息获取目标文件时,具体用于执行以下任一步骤:
基于文件存储路径,从终端设备的本地数据库中获取目标文件;
基于文件存储路径,从服务器中获取目标文件。
可选的,命令包括以下至少一项:
压缩文件命令、读取文件命令、合并文件命令、格式化文件命令、JS语法检查命令、修改文件代码命令、复制文件命令。
可选的,若命令为合并文件命令,则配置信息包括文件存储路径信息的第一模块的个数为两个或两个以上,基于第一模块的文件存储路径信息得到的目标文件的个数为两个或两个以上;
处理模块在基于命令,对目标文件进行处理时,具体用于:
基于合并文件命令,合并两个或两个以上的目标文件。
可选的,处理模块在基于命令,对目标文件进行处理时,具体用于执行以下任一项的步骤:
若命令为压缩命令,则对目标文件进行压缩处理;
若命令为格式化命令,则对目标文件进行格式化处理;
若命令为复制文件命令,则复制目标文件;
若命令为修改文件代码命令,则对目标文件对应的代码进行修改;
若命令为JS语法检查命令,则对目标文件对应的模板中输入的代码信息进行校检。
可选的,若任一第一模块的配置信息包括处理后的目标文件在终端设备的本地数据库中的缓存位置;
该装置还包括缓存模块,在处理模块在基于命令,对目标文件进行处理之后,缓存模块,用于基于缓存位置,缓存处理后的目标文件。
本申请第三方面,提供了一种电子设备,该电子设备包括:
电子设备包括存储器和处理器;
存储器中存储有计算机程序;
处理器,用于在运行计算机程序时执行第一方面中任一项的方法。
本申请第四方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时可以执行第一方面中任一项的方法。
本申请实施例具有以下优点:
在实施例中,可以将node运行环境中的packjson文件划分至少两个模块,至少两个模块中包括命令运行模块,在node操作环境下,js可以离开浏览器操作本地文件,从而可以接收用户在命令运行模块中输入的命令后,可以基于命令中包括的至少一个第一模块标识确定对应的第一模块,并基于第一模块中事先配置好的配置信息来获取目标文件,对目标文件进行与命令相应的处理,即可完成前端项目管理工具的构建。可见,本申请在node环境,js语言就变成了一种可编程语言,可以通过前端发送命令,调用第一模块的配置信息找到后台中的目标文件,基于命令不同对文件进行不同的操作,从而就完成了前端项目管理工具的构建。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请前端构建工具的方法的一个实施例示意图;
图2为本申请前端构建工具的方法的另一个实施例示意图;
图3为本申请前端构建工具的装置的结构示意图;
图4为本申请电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请由于JS不是一种系统编程语言,无法实现前端项目工具的构建,在前端开发中,常常会存在如下问题:
第1点:虽然可以使用一些RequireJS之类的模块加载器对packjson文件中的模块进行管理,但是前端开发过程中,在很多情况下需要引入不同的文件,尤其是CSS文件没有一个好的模块化管理的组件。
第2点:浏览器请求的文件越多越耗时,请求的文件越大越耗时,在现有的方案中,为了使前端代码更清晰,结构更合理,执行一个项目需要调用很多JS文件,无疑又拖慢了网页的速度。
第3点:JavaScript很多时候会有一些潜在的bug,比如忘了添加分号,某个变量没有等等。
第4点:在前端通过HTML引用JavaScript文件或者CSS文件,需要使用Bower之类来引用前端JavaScript文件和CSS文件的第三方库,那么如果版本升级,进行添加或移除操作等都用手工来修改的话,第一比较耗时,第二比较容易疏漏,比如前端有多个项目,每个项目引用一个或多个文件,如果需要修改某一个项目的代码,就需要查询该项目引用的所有文件,这样时间消耗比较多,同时很容易疏漏需要修改代码的文件。
为例解决这些问题,本申请提出了一种前端构建工具的方法、装置以及电子设备,具体方案如下:
首先,对本申请的几个名词进行简单说明。
JavaScript(简称JS)是世界上最流行的编程语言之一,被广泛应用于HTML和Web领域,并被广泛用于服务器、町、笔记本电脑、平板电脑和智能手机等设备。JavaScript是一种脚本语言、一种轻量级的编程语言、可插入HTML页面的编程代码。
Node是avaScript应用程序的运行时的环境,Node.js是一个让JavaScript运行在服务端的开发平台,用于开发服务器端和网络应用程序。
npm:全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。通过npm可以安装、共享、分发代码,管理项目依赖关系。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
请参照图1,本申请提供了一种前端构建工具的方法,该方法具体可以由电子设备执行,该电子设备可以是终端设备,也可以是服务器。
步骤S101、在packjson文件中划分至少两个模块,至少两个模块中包括命令运行模块;
packjson文件即package.json文件,package.json文件是一个json对象,在packjson文件中划分了至少两个模块,至少两个模块包括:项目运行所需要的各种模块(例如命令运行模块),以及项目的配置信息(比如名称、版本、许可证等元数据)模块。npminstall命令可以根据这个packjson文件,自动下载所需的模块中的文件,就可以配置项目所需的运行环境和开发环境,保证项目正常运行。
步骤S102、接收用户在命令运行模块中输入的命令,命令中包括至少一个第一模块标识;
电子设备接收用户在命令运行模块中输入的前端命令,该命令即为上述npminstall命令,packjson文件中的命令运行模块对应为packjson文件中的scripts字段,在命令运行模块中输入的命令具体指的是:在scripts字段中指定运行脚本命令的npm命令行缩写,比如start指定了npm运行启动(npm run start)时所要执行的命令,电子设备运行命令即可完成前端项目管理工具的构建。
步骤S103、确定至少一个第一模块标识分别对应的第一模块;
步骤S104、基于各个第一模块中的配置信息,获取相应的目标文件,其中,第一模块为至少两个模块中不同于命令运行模块的模块;
步骤S105、基于命令,对目标文件进行处理。
具体而言,电子设备运行命令包括确定文件位置、获取文件以及基于命令操作文件等过程,该命令中携带有至少一个第一模块标识,电子设备基于第一模块标识确定与第一模块标识对应的第一模块,第一模块标识与第一模块一一对应,第一模块标识的个数为至少一个,则第一模块的个数也为至少一个,任一第一模块为上述至少两个模块中的模块,且第一模块中为不同于命令运行模块的模块。
至少一个第一模块标识对应的至少一个第一模块中全部或部分第一模块的配置信息可以用于确定目标文件的存储位置(如后面的实施例中所示:有些第一模块的配置信息是定义了目标文件处理后的缓存位置,这种情况下只有部分第一模块的配置信息可以确定目标文件的存储位置),则电子设备可以基于至少一个第一模块中全部或部分第一模块的配置信息,确定目标文件的存储位置,从而可以获取到目标文件,可以理解的是,若第一模块的个数为一个,则电子设备是基于全部第一模块的配置信息确定目标文件的存储位置。
电子设备基于命令不同,可以对获取到的目标文件进行不同的处理,就可以完成前端项目管理工具的构建。
在实施例中,可以将node运行环境中的packjson文件划分至少两个模块,至少两个模块中包括命令运行模块,在node操作环境下,js可以离开浏览器操作本地文件,从而可以接收用户在命令运行模块中输入的命令后,可以基于命令中包括的至少一个第一模块标识确定对应的第一模块,并基于第一模块中事先配置好的配置信息来获取目标文件,对目标文件进行与命令相应的处理,即可完成前端项目管理工具的构建。可见,本申请在node环境,js语言就变成了一种可编程语言,可以通过前端发送命令,调用第一模块的配置信息找到后台中的目标文件,基于命令不同对文件进行不同的操作,从而就完成了前端项目管理工具的构建。
同时,针对上述第2点的缺陷,本申请可以通过在前端命令中携带第一模块标识,这样就可以有选择性的获取目标文件,从而避免了运行一个项目需要调动大量的JS文件,加快了网页运行速度。
如上述,基于至少一个第一模块中全部或部分第一模块的配置信息,可以确定目标文件的存储位置,从而可以获取到目标文件,具体的:
可选的,若任一第一模块的配置信息包括文件存储路径信息;
基于各个第一模块中的配置信息,获取相应的目标文件,包括:
基于文件存储路径信息获取目标文件。
在本实施例中,若至少一个第一模块中存在任一第一模块的配置信息为文件存储路径信息,则该任一第一模块使用packjson文件的bin项(或bin字段)指定了命令对应的可执行文件的位置(即文件存储路径信息),电子设备可以通过“process.argv”将命令行参数传递给Node脚本,可以使用commander进行传递,大多数情况下依赖回调或promise等待用户输入等等,将命令行参数传递给Node脚本后,电子设备就可以通过命令中该任一第一模块对应的第一模块标识确定该任一第一模块,从而确定该第一模块中文件存储路径信息,基于文件存储路径信息就可以获取到目标文件(即上述可执行文件)。
需要说明的是,配置信息为文件存储路径信息的第一模块的个数为一个或多个,则获取到的目标文件的个数可以是一个或多个。
可选的,基于文件存储路径信息获取目标文件,包括以下任一项:
基于文件存储路径,从终端设备的本地数据库中获取目标文件;
基于文件存储路径,从服务器中获取目标文件。
在本实施例中,电子设备可以是终端设备,文件存储路径可以是目标文件在终端设备的本地数据库中的存储路径,也可以目标文件在服务器中的存储路径,这样基于文件存储路径所表示的含义不同,可以从终端设备的本地数据库中获取目标文件,也可以从服务器中获取目标文件,具体此处不做限定。
可选的,命令包括以下至少一项:
压缩文件命令、读取文件命令、合并文件命令、格式化文件命令、JS语法检查命令、修改文件代码命令、复制文件命令。
可选的,若命令为合并文件命令,则配置信息包括文件存储路径信息第一模块的个数为两个或两个以上,基于第一模块的文件存储路径信息得到的目标文件的个数为两个或两个以上;
基于命令,对目标文件进行处理包括:
基于合并文件命令,合并两个或两个以上的目标文件。
可选的,基于命令,对目标文件进行处理,包括以下至少一项:
若命令为压缩命令,则对目标文件进行压缩处理;
若命令为格式化命令,则对目标文件进行格式化处理;
若命令为复制文件命令,则复制目标文件;
若命令为修改文件代码命令,则对目标文件对应的代码进行修改;
若命令为JS语法检查命令,则对目标文件对应的模板中输入的代码信息进行校检。
如上述配置信息为文件存储路径信息的第一模块的个数可以是至少一个,则获取到的目标文件的个数可以是至少一个,前端项目可以为读取文件的项目、压缩文件的项目、合并文件的项目、格式化文件项目、JS语法检查的项目、修改文件代码的项目、复制文件的项目,对应的前端命令包括以下至少一种:
若前端命令为读取文件命令,则终端设备获取至少一个目标文件后,不需要对目标文件进一步处理,直接将至少一个目标文件存储即可;
若前端命令为压缩文件命令,则终端设备获取至少一个目标文件后,需要对至少一个目标文件进行压缩处理;
若前端命令为格式化文件命令,则终端设备获取获取至少一个目标文件后对至少一个目标文件进行格式化处理;
若前端命令为合并文件命令,一种可能的情况是:上述可以配置信息为文件存储路径信息的第一模块的个数为两个或两个以上,基于第一模块的文件存储路径信息得到的目标文件的个数也是两个或两个以上,则终端设备获取到两个或两个以上目标文件后,对目标文件进行合并,得到合并后的文件;另一种可能的情况是:对于配置信息为文件存储路径信息的第一模块,一个第一模块中的目标文件包括多个文件,对这多个文件进行合并,得到合并后的文件。
若前端命令为JS语法检查命令,则用户在目标文件对应的模板中输入代码后,终端设备可以对目标文件对应的模板中输入的代码信息进行校检,校检分为两种,一种是用户在编写代码时,进行的实时验证,还有一种是,在编写代码结束后,对文件进行校检。
若前端命令为修改文件代码命令,则终端设备可以基于该命令对目标文件中的代码进行修改,针对上述第4点中修改HTML耗时和容易疏漏的缺陷,
本申请可以在执行前端的某一个项目时,通过在命令中携带第一模块的第一模块标识,就可以直接定位到第一模块,从而获取第一模块中的目标文件后,可以对目标文件中的代码进行修改,节省了修改HTML的时间,从事也避免了修改时可能发生的疏漏。
若前端命令为复制文件命令,则终端设备获取目标文件后,可以复制目标文件,从而形成文件副本。
可选的,若任一第一模块的配置信息包括处理后的目标文件在终端设备的本地数据库中的缓存位置;
基于命令,对目标文件进行处理之后,该方法还包括:
基于缓存位置,缓存处理后的目标文件。
在本实施例中,若至少一个第一模块中存在任一第一模块为的配置信息包括目标文件在终端设备本地数据库终端缓存位置或缓存路径,则终端设备基于命令不同对目标文件进行上述处理后,可以将处理后的文件存储于上述缓存位置,配置信息包括缓存位置的第一模块与上述配置信息包括文件存储路径信息的第一模块可以是不同模块。
综上,请参照图2,本申请实施例的方案可以概括为如下四个阶段:
1、在packjson文件中配置至少两个模块:主要是为了配置项目运行所需要的运行环境和开发环境,至少两个模块中包括命令运行模块、配置了文件存储路径信息的第一模块(第一模块使用packjson文件的bin项(或bin字段)指定了命令对应的可执行文件的位置)、配置了文件处理后缓存位置的第一模块。
2、把命令link到nmp中:命令运行模块对应为packjson文件的scripts字段,在packjson文件的scripts字段指定运行脚本命令的npm命令行缩写,比如start指定了npm运行启动(npm run start)时,所要执行的命令;
3、运行命令,获取项目模板:通过“process.argv”将命令行参数传递给Node脚本,可以使用commander进行传递,大多数情况下依赖回调或promise等待用户输入等等,基于命令中第一模块标识确定配置了文件存储路径信息的第一模块,从而获取第一模块中配置信息所指示的文件(即项目模板)。
第一模块对应为packjson文件中main字段,基于第一模块中的存储路径信息获取目标文件具体为:在main字段指定了加载的入口文件,从而require('moduleName')就可以加载文件,main字段的默认值存储于模块根目录下面的index.js中,电子设备可以自动扫描文件夹中的index.js文件,从index.js文件开始读取文件。
4、将项目模板写入本地数据库。
基于配置了文件处理后缓存位置的第一模块所指示的处理后文件的缓存位置,将项目模板写入本地数据库。
可见,本申请可以建立一种基于node服务的前端项目工具的构建方法,所有的前端项目通过packjson文件配置,并通过package文件的维护,提升了前端项目的维护效率与开发效率。基于此,本申请具有如下优点:
1、本申请也可以将JS变成一种可编程语言,实现对文件的压缩、以及合并文件等,使文件变得更小,加快了文件的运行效率;
2、在模块配置阶段,本申请进行了良好的模块化管理,可以灵活引入与项目相关的第三方js库,从而引入文件;
3、在本方案中,可以指定相关的代码规范标准对代码进行相关的规范检查配置,规范代码结构,例如在模块配置阶段可以以代码规范标准进行配置,从而可以解决上述第三点缺陷中由于代码编写不规范带来的问题;
4、规范模块化管理的组件,提升packjson文件中模块的管理质量,使结构更合理;
5、通过复制目标文件,可以对项目模板进行克隆,以便于敏捷构建项目,避免重复造轮子;
6、如上述,可以有针对性的修改目标文件中的代码,节省了修改HTML的时间,也避免了修改的疏漏;
7、如上述,可以有针对性的获取目标文件,加快了网页运行的速度。
上面图1至图2介绍了本申请提供的前端构建工具的方法,请参照图3,本申请还提供了一种前端构建工具的装置,该装置应用于node服务环境,该装置包括:
划分模块301,用于在packjson文件中划分至少两个模块,至少两个模块中包括命令运行模块;
接收模块302,用于接收用户在命令运行模块中输入的命令,命令中包括至少一个第一模块标识;
确定模块303,用于确定至少一个第一模块标识分别对应的第一模块;
获取模块304,用于基于各个第一模块中的配置信息,获取相应的目标文件,其中,第一模块为至少两个模块中不同于命令运行模块的模块;
处理模块305,用于基于命令,对目标文件进行处理。
可选的,若任一第一模块的配置信息包括文件存储路径信息获取模块304在基于各个第一模块中的配置信息,获取相应的目标文件时,具体用于:
基于文件存储路径信息获取目标文件。
可选的,获取模块304在基于文件存储路径信息获取目标文件时,具体用于执行以下任一步骤:
基于文件存储路径,从终端设备的本地数据库中获取目标文件;
基于文件存储路径,从服务器中获取目标文件。
可选的,命令包括以下至少一项:
压缩文件命令、读取文件命令、合并文件命令、格式化文件命令、JS语法检查命令、修改文件代码命令、复制文件命令。
可选的,若命令为合并文件命令,则配置信息包括文件存储路径信息的第一模块的个数为两个或两个以上,基于第一模块的文件存储路径信息得到的目标文件的个数为两个或两个以上;
处理模块305在基于命令,对目标文件进行处理时,具体用于:
基于合并文件命令,合并两个或两个以上的目标文件。
可选的,处理模块305在基于命令,对目标文件进行处理时,具体用于执行以下任一项的步骤:
若命令为压缩命令,则对目标文件进行压缩处理;
若命令为格式化命令,则对目标文件进行格式化处理;
若命令为复制文件命令,则复制目标文件;
若命令为修改文件代码命令,则对目标文件对应的代码进行修改;
若命令为JS语法检查命令,则对目标文件对应的模板中输入的代码信息进行校检。
可选的,若任一第一模块的配置信息包括包括处理后的目标文件在终端设备的本地数据库中的缓存位置;
该装置还包括缓存模块,在处理模块305在基于命令,对目标文件进行处理之后,缓存模块,用于基于缓存位置,缓存处理后的目标文件。
由于本申请实施例所提供的装置为可以执行本申请实施例中相应的方法的装置,故而基于本申请实施例中所提供的方法,本领域所属技术人员能够了解本申请实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的装置,都属于本申请所欲保护的范围。
基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器;存储器中存储有计算机程序;处理器用于在运行计算机程序时执行本申请任一可选实施例中所提供的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时可以实现本申请任一可选实施例中所提供的方法。
作为一示例,图4中示出了本申请可以应用于的一种电子设备的结构示意图,该电子设备具体可以是上述数据转换系统,也可以是其他设备,该电子设备8000包括存储器8003和处理器8001,存储器8003中存储有计算机程序,处理器8001,用于在运行计算机程序时执行上述任一方法。具体的,图4只是示出了电子设备的一种可选的示意性结构。图4中所示的该电子设备8000的结构并不构成对本申请实施例的限定。
其中,处理器8001和存储器8003相连,如通过总线8002相连。可选地,电子设备8000还可以包括收发器8004。需要说明的是,实际应用中收发器8004不限于一个,收发器8004可以具体用于该电子设备8000与其他设备的通信。
处理器8001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请申请内容所描述的各种示例性的逻辑方框,模块和电路。处理器8001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线8002可包括一通路,在上述组件之间传送信息。总线8002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线8002可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器8003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器8003用于存储执行本申请方案的应用程序代码,并由处理器8001来控制执行。处理器8001用于执行存储器8003中存储的应用程序代码,以实现上面任一方法实施例所示的内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种前端构建工具的方法,其特征在于,所述方法应用于node服务环境,所述方法包括:
在package.json文件中划分至少两个模块,所述至少两个模块中包括命令运行模块;
接收用户在所述命令运行模块中输入的命令,所述命令中包括至少一个第一模块标识;
确定所述至少一个第一模块标识分别对应的第一模块;
基于各个第一模块中的配置信息,获取相应的目标文件,其中,所述第一模块为所述至少两个模块中不同于所述命令运行模块的模块;所述第一模块包括配置了文件存储路径信息的存储路径模块以及配置了文件处理后缓存位置的缓存位置模块;
基于所述命令,对所述目标文件进行处理;
基于所述缓存位置,缓存处理后的目标文件;
其中,所述命令包括以下至少一项:
压缩文件命令、读取文件命令、合并文件命令、格式化文件命令、JS语法检查命令、修改文件代码命令、复制文件命令。
2.根据权利要求1所述的方法,其特征在于,若任一第一模块的配置信息包括文件存储路径信息;
所述基于各个第一模块中的配置信息,获取相应的目标文件,包括:
基于所述文件存储路径信息获取所述目标文件。
3.根据权利要求2所述的方法,其特征在于,所述基于所述文件存储路径信息获取所述目标文件,包括以下任一项:
基于所述文件存储路径,从终端设备的本地数据库中获取所述目标文件;
基于所述文件存储路径,从服务器中获取所述目标文件。
4.根据权利要求1所述的方法,其特征在于,若所述命令为合并文件命令,则配置信息包括文件存储路径信息的第一模块的个数为两个或两个以上,基于所述第一模块的文件存储路径信息得到的所述目标文件的个数为两个或两个以上;
所述基于所述命令,对所述目标文件进行处理包括:
基于所述合并文件命令,合并所述两个或两个以上的目标文件。
5.根据权利要求1所述的方法,其特征在于,所述基于所述命令,对所述目标文件进行处理,包括以下至少一项:
若所述命令为压缩命令,则对所述目标文件进行压缩处理;
若所述命令为格式化命令,则对所述目标文件进行格式化处理;
若所述命令为复制文件命令,则复制所述目标文件;
若所述命令为修改文件代码命令,则对所述目标文件对应的代码进行修改;
若所述命令为JS语法检查命令,则对所述目标文件对应的模板中输入的代码信息进行校检。
6.一种前端构建工具的装置,其特征在于,所述装置应用于node服务环境,所述装置包括:
划分模块,用于在package.json文件中划分至少两个模块,所述至少两个模块中包括命令运行模块;
接收模块,用于接收用户在所述命令运行模块中输入的命令,所述命令中包括至少一个第一模块标识;
确定模块,用于确定所述至少一个第一模块标识分别对应的第一模块;
获取模块,用于基于各个第一模块中的配置信息,获取相应的目标文件,其中,所述第一模块为所述至少两个模块中不同于所述命令运行模块的模块;所述第一模块包括配置了文件存储路径信息的存储路径模块以及配置了文件处理后缓存位置的缓存位置模块;
处理模块,用于基于所述命令,对所述目标文件进行处理;
缓存模块,用于基于所述缓存位置,缓存处理后的目标文件;
其中,所述命令包括以下至少一项:
压缩文件命令、读取文件命令、合并文件命令、格式化文件命令、JS语法检查命令、修改文件代码命令、复制文件命令。
7.一种电子设备,其特征在于,包括:
所述电子设备包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于在运行所述计算机程序时执行权利要求1-5中任一项所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911219093.6A CN110968339B (zh) | 2019-12-03 | 2019-12-03 | 前端构建工具的方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911219093.6A CN110968339B (zh) | 2019-12-03 | 2019-12-03 | 前端构建工具的方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968339A CN110968339A (zh) | 2020-04-07 |
CN110968339B true CN110968339B (zh) | 2023-08-15 |
Family
ID=70032658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911219093.6A Active CN110968339B (zh) | 2019-12-03 | 2019-12-03 | 前端构建工具的方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968339B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343143A (zh) * | 2021-05-24 | 2021-09-03 | 上海万物新生环保科技集团有限公司 | 一种流式加载网页模板的方法及设备 |
CN113656048A (zh) * | 2021-08-25 | 2021-11-16 | 工银科技有限公司 | 业务组件代码安装方法、工具及组件代码共享系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843869A (zh) * | 2017-01-16 | 2017-06-13 | 百融(北京)金融信息服务股份有限公司 | 一种前端开发工程化系统和方法 |
CN107704234A (zh) * | 2017-08-22 | 2018-02-16 | 北京三快在线科技有限公司 | 前端工程构建方法、装置、电子设备及可读存储介质 |
CN109062572A (zh) * | 2018-08-02 | 2018-12-21 | 深圳乐信软件技术有限公司 | 一种组件调用方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255443B2 (en) * | 2016-02-11 | 2019-04-09 | Line Corporation | Method, apparatus, system and non-transitory computer readable medium for code protection |
US10095499B2 (en) * | 2016-09-16 | 2018-10-09 | Microsoft Technology Licensing, Llc | Optimization for multi-project package manager |
-
2019
- 2019-12-03 CN CN201911219093.6A patent/CN110968339B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843869A (zh) * | 2017-01-16 | 2017-06-13 | 百融(北京)金融信息服务股份有限公司 | 一种前端开发工程化系统和方法 |
CN107704234A (zh) * | 2017-08-22 | 2018-02-16 | 北京三快在线科技有限公司 | 前端工程构建方法、装置、电子设备及可读存储介质 |
CN109062572A (zh) * | 2018-08-02 | 2018-12-21 | 深圳乐信软件技术有限公司 | 一种组件调用方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110968339A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331425B2 (en) | Automated source code adaption to inject features between platform versions | |
CN111142899B (zh) | 数据库脚本执行方法、装置、存储介质及电子设备 | |
CN110673853B (zh) | 一种编译方法、装置及系统 | |
CN110351325B (zh) | 一种数据处理方法及相关设备 | |
CN110968477B (zh) | 一种获取备用bmc版本信息的方法、设备及介质 | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
US10275234B2 (en) | Selective bypass of code flows in software program | |
CN111144839A (zh) | 一种项目构建方法、持续集成系统及终端设备 | |
US20160012042A1 (en) | Converting Data Objects from Multi- to Single-Source Database Environment | |
CN111666088A (zh) | Pod的更替方法、装置、电子设备及计算机可读存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
US20190286544A1 (en) | Method, device and server for checking a defective function | |
CN110806891B (zh) | 嵌入式设备软件版本的生成方法及装置 | |
CN112631563A (zh) | 基于框架的系统开发方法、装置、计算机设备及存储介质 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN117112060A (zh) | 组件库构建方法、装置、电子设备及存储介质 | |
CN112068874A (zh) | 软件项目持续集成方法、装置、终端设备和存储介质 | |
CN115599401A (zh) | 自定义模型的发布方法、装置、设备及介质 | |
US20150033213A1 (en) | Compiling method, storage medium and compiling apparatus | |
CN115437700A (zh) | 驱动程序的硬件资源自动配置方法、装置、系统及介质 | |
CN112711602B (zh) | 一种存储过程的运行方法、装置,数据库系统及存储介质 | |
CN113504904A (zh) | 用户定义函数实现方法、装置、计算机设备和存储介质 | |
CN113901025A (zh) | 数据库管理方法、装置、设备和存储介质 | |
CN113377368A (zh) | 项目开发方法、装置、服务器及存储介质 | |
CN108830920B (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 |