CN109358841A - 网页应用开发编译方法、装置及存储设备、计算机设备 - Google Patents
网页应用开发编译方法、装置及存储设备、计算机设备 Download PDFInfo
- Publication number
- CN109358841A CN109358841A CN201810931279.3A CN201810931279A CN109358841A CN 109358841 A CN109358841 A CN 109358841A CN 201810931279 A CN201810931279 A CN 201810931279A CN 109358841 A CN109358841 A CN 109358841A
- Authority
- CN
- China
- Prior art keywords
- compiled
- module
- code
- file
- module file
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000011161 development Methods 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种网页应用开发编译方法、装置及存储设备、计算机设备,所述方法包括:获取网页应用开发之前,目标页面开发项目的第一目录结构;获取网页应用开发之后,所述目标页面开发项目的第二目录结构;其中,所述第二目录结构包括所述目标页面开发项目在开发过程中增加的待编译模块文件;对比所述第一目录结构和所述第二目录结构,识别出所述待编译模块文件;获取与所述待编译模块文件关联的待编译代码,对所述待编译代码执行编译。上述方法在开发者进行网页应用项目开发时,快速筛选出需要编译的模块,并抛弃不需要编译的模块,只对需要编译的模块的代码进行编译,提高了加快执行编译的速度,提高网页应用开发的效率。
Description
技术领域
本发明涉及通信技术领域,具体而言,本发明涉及一种网页应用开发编译方法、装置及存储设备、计算机设备。
背景技术
保单是保险公司与被保险人订立保险合同的证明。保单中明确记载多种保险人以及被保险人的信息。例如,保险金额、保险费、保险期限、赔偿或给付的责任范围以及其他规定事项等。保险公司将用户的保单信息存储在服务器中,以便于电子存档。然而随着保单功能的增多,服务器的保单模块的功能也越来越多,造成工程文件数量增多。开发人员在对应开发新的模块时,容易造成编译速度缓慢,影响应用开发的效率。
发明内容
本发明提出一种网页应用开发编译方法、装置及存储设备、计算机设备,以加快执行编译的速度,提高应用开发的效率。
本发明提供以下方案:
一种网页应用开发编译方法,包括:获取网页应用开发之前,目标页面开发项目的第一目录结构;获取网页应用开发之后,所述目标页面开发项目的第二目录结构;其中,所述第二目录结构包括所述目标页面开发项目在开发过程中增加的待编译模块文件;对比所述第一目录结构和所述第二目录结构,识别出所述待编译模块文件;获取与所述待编译模块文件关联的待编译代码,对所述待编译代码执行编译。
在其中一个实施例中,所述获取与所述待编译模块文件关联的待编译代码,包括:获取与所述待编译模块文件关联的存储路径;根据所述存储路径读取所述待编译模块文件关联的待编译代码。
在其中一个实施例中,所述获取与所述待编译模块文件关联的待编译代码,包括:获取所述待编译模块文件中,被请求资源的模块文件的绝对路径;根据所述绝对路径获取所述待编译代码。
在其中一个实施例中,所述获取与所述待编译模块文件关联的待编译代码,包括:获取所述待编译模块文件中请求信息的关联文件,将所述请求信息的关联文件的代码加入所述待编译代码。
在其中一个实施例中,所述获取与所述待编译模块文件关联的待编译代码,包括:获取所述待编译模块文件中应用上下文信息的关联文件,将所述应用上下文信息的关联文件的代码加入所述待编译代码。
在其中一个实施例中,所述待编译模块文件包括至少一个新增功能模块对应的目录文件;所述获取与所述待编译模块文件关联的待编译代码,包括:获取每个新增模块的标识信息,根据每个新增模块的标识信息识别该新增模块的目录文件中待编译模块文件;分别获取所述每个新增模块对应的待编译模块文件的关联的待编译代码。
在其中一个实施例中,所述获取与所述待编译模块文件关联的待编译代码,包括:获取所述待编译模块文件的代码以及所述待编译模块文件引用的外部代码,并将所述待编译模块文件的代码和所述外部代码作为所述待编译代码。
一种网页应用开发编译装置,包括:第一获取模块,用于获取网页应用开发之前,目标页面开发项目的第一目录结构;第二获取模块,用于获取网页应用开发之后,所述目标页面开发项目的第二目录结构;其中,所述第二目录结构包括所述目标页面开发项目在开发过程中增加的待编译模块文件;识别模块,用于对比所述第一目录结构和所述第二目录结构,识别出所述待编译模块文件;编译模块,用于获取与所述待编译模块文件关联的待编译代码,对所述待编译代码执行编译。
一种存储设备,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述任一实施例所述的网页应用开发编译方法。
一种计算机设备,其包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据上述任一实施例所述的网页应用开发编译方法。
上述实施例提供的网页应用开发编译方法,分别获取网页应用开发之前目标页面开发项目的第一目录结构,以及获取网页应用开发之后目标页面开发项目的第二目录结构。根据网页应用开发前后的目标页面项目的目录结构,识别出在开发过程中增加的待编译模块文件,进一步对该待编译模块文件的待编译代码执行编译。因此,在开发者进行网页应用项目开发时,该网页应用开发编译处理方法可以快速筛选出需要编译的模块,并抛弃不需要编译的模块,只对需要编译的模块的代码进行编译,提高了加快执行编译的速度,提高应用开发的效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明提供的webpack的模块打包原理示意图;
图2为本发明提供的webpack目录结构界面示意图;
图3为本发明提供的一种应用开发编译处理方法的一实施例中方法流程图;
图4为本发明提供的webpack目录结构的另一个示意图;
图5为步骤S400的一实施例中方法流程图;
图6为本发明提供的一种应用开发编译处理装置的一实施例中的结构框图;
图7为本发明提供的计算机设备结构一实施例中的示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,这里使用的“第一”、“第二”仅用于区别同一技术特征,并不对该技术特征的顺序和数量等加以限定。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明实施例提供一种网页应用开发编译方法。在应用页面开发项目中,可筛选出需要编译的模块,并抛弃不需要编译的模块。最终实现开发者仅仅需要关注自己目前正在开发的模块并执行编译,提高了网页页面应用开发的效率。本发明提供的网页应用开发编译方法基于webpack(前端资源模块打包机)单页面应用开发。因此,以下先对webpack以及其应用开发环境进行详细描述:
随着互联网前端技术的发展,很多网页可以看做是功能丰富的应用。每个网页的开发,均拥有着复杂的JavaScript代码和一大堆依赖包。为了简化开发的复杂度,涌现出模块化,Scss,less等CSS预处理器等技术思想。CSS预处理器技术思想,即用一种专门的编程语言,为CSS增加了一些编程的特性,无需考虑浏览器的兼容性问题。模块化思想,即是指将页面根据内容的关联性分解成不同的且相互独立的模块进行开发,每个模块之间没有必然的联系,互不影响。
网页项目开发时,引入模块化思想大大提高了开发的效率,但是开发的文件往往需要进行额外的处理才能让浏览器识别,而手动处理又是非常繁琐的,webpack的出现解决了此类问题。
webpack可以看作是模块打包机。webpack主要功能为,分析应用开发的项目结构,找到JavaScript模块以及其他的一些浏览器不能直接运行的拓展语言(例如Sass语言,TypeScript语言),并将其转换和打包为合适的格式以供浏览器使用。webpack的工作方式是:把项目当做一个整体,通过一个给定的主文件(如:index.js文件),webpack将从该文件开始找到项目的所有依赖文件,使用loaders处理,最后打包为一个(或多个)浏览器可识别的JavaScript文件。如图1所示,webpack定位的主文件为Main JS。从主文件Main JS开始进行扫描,获取到A模块文件和B模块文件,再分别获取A模块文件的各个关联模块文件以及B模块文件的各个关联模块文件,如图1中的C模块文件、D模块文件、E模块文件和F模块文件,从而将主文件Main JS所有的关联模块文件打包为Bundled JavaScrip文件。
webpack进行单页面应用开发时,其开发项目的目录结构是清晰的,如图2所示。整个应用工程下有多个目录,每个目录下包含有多个子目录,每个目录或者子目录可代表一个模块文件。已有的模块文件或者新增的模块文件,均可在目录结构中找到对应的文件。
基于上述的应用环境,本发明提供一种网页应用开发编译方法。在一实施例中,如图3所示,该网页应用开发编译方法,包括步骤:
S100,获取网页应用开发之前,目标页面开发项目的第一目录结构。
对于网页的应用开发,每个项目的目录结构应该是确定的。特别是对于使用模块打包工具(webpack)进行的单页面应用开发,页面开发项目的目录结构更为清晰,后台系统可以快速识别目录结构下每个根目录以及子目录的文件。
如图4所示,目标页面开发项目的目录结构中包括多个架构,每个架构包括根目录文件,每个根目录文件可以包括多个不同的子目录文件。每个目录文件对应不同的应用模块,执行不同的功能。后台系统可以通过遍历识别出目录结构中每个模块的相关文件,即每个目录或者子目录文件。
在本实施例中,插件在应用开发之前,先获取目标页面开发项目的目录结构,记为第一目录结构,并缓存在本地存储中。
S200,获取网页应用开发之后,所述目标页面开发项目的第二目录结构;其中,所述第二目录结构包括所述目标页面开发项目在开发过程中增加的待编译模块文件。
在应用页面开发项目的目录结构中,每个根目录的文件及根目录下的子目录的文件执行不同的任务,实现不同的功能。针对目标页面开发项目,先获取开发之前的目录结构作为第一目录结构。进而,研发人员对目标页面开发项目进行新功能的模块开发。对于目标项目开发的新功能模块,webpack会在对应的根目录下配置相应功能的模块文件。也即是在应用程序开发过程中,webpack会在第一目录结构中增加本方案所述的待编译模块文件。在本实施例中,插件进一步获取应用开发之后,所述目标页面开发项目的目录结构,记为第二目录结构。
S300,对比所述第一目录结构和所述第二目录结构,识别出所述待编译模块文件。
传统的,webpack执行编译时,把整个应用项目中每个目录下的所有文件都执行编译。也即是说,webpack对开发之后的目标页面开发项目,会将整个目录文件都进行编译,此时编译速度非常慢。
本实施例中,插件根据获取的第一目录结构和第二目录结构,识别出目标页面开发项目在开发过程中增加的待编译模块文件。具体地,插件将所述第一目录结构和所述第二目录结构进行对比,获取所述第二目录结构中比所述第一目录结构多出的模块文件,将所述多出的模块文件作为所述待编译模块文件。
S400,获取与所述待编译模块文件关联的待编译代码,对所述待编译代码执行编译。
在本实施例中,插件获取到webpack中,在开发过程中增加的待编译模块文件之后,进一步获取各个待编译模块文件的代码,即待编译代码。将待编译代码写入webpack的配置文件中,由webpack执行编译。
上述实施例提供的网页应用开发编译方法,分别获取网页应用开发之前目标页面开发项目的第一目录结构,以及获取网页应用开发之后目标页面开发项目的第二目录结构。根据网页应用开发前后的目标页面项目的目录结构,识别出在开发过程中增加的待编译模块文件,进一步对该待编译模块文件的待编译代码执行编译。因此,在开发者进行网页应用项目开发时,该网页应用开发编译方法可以快速筛选出需要编译的模块,并抛弃不需要编译的模块,只对需要编译的模块的代码进行编译,提高了加快执行编译的速度,提高应用开发的效率。
在一实施例中,所述获取与所述待编译模块文件关联的待编译代码,包括:获取与所述待编译模块文件关联的存储路径;根据所述存储路径读取所述待编译模块文件关联的待编译代码。若待编译模块文件包括根目录文件下的多个子目录文件,则获取多个子目录文件的存储路径信息,从而根据存储路径信息获取到系统中对应的子目录存储文件,从而读取子目录存储文件中代码,将该部分代码写入webpack的配置文件中,以由webpack执行编译。
在一实施例中,所述获取与所述待编译模块文件关联的待编译代码,包括:获取所述待编译模块文件中,被请求资源的模块文件的绝对路径;根据所述绝对路径获取所述待编译代码。其中,所述绝对路径为目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。
和/或,所述获取与所述待编译模块文件关联的待编译代码,包括:获取所述待编译模块文件中请求信息和/或应用上下文信息的关联文件,将所述请求信息和/或应用上下文信息的关联文件的代码加入所述待编译代码。此处,通过request对象获取所述待编译模块文件中请求信息的关联文件。通过contextInfo对象获取所述待编译模块文件中应用上下文信息的关联文件。
webpack能够解析三种文件路径:绝对路径、相对路径和模块路径。模块可在resolve.modules中指定的所有目录内搜索。模块的路径一旦解析后,解析器(resolver)将检查路径是否指向文件或目录。若该路径指向文件,可根据该路径获取到模块对应的文件,如文件代码。
被请求资源(requested the resource)的模块文件的绝对路径,也即是issuer,是导入时的位置。插件获取待编译模块文件中的issuer变量,根据issuer变量的路径指向,可获取到待编译文件的待编译代码。例如,从app.js导入‘./style.css’,issuer是/path/to/app.js。此外,插件还可获取所述待编译模块文件中请求信息和\或应用上下文信息的关联文件。编译需要处理的文件包括请求信息的文件。该请求信息的文件代码中包括request和\或contextInfo,通过识别这两个变量,将变量对应的代码加入到待编译代码中,以执行编译。请求信息关联文件为待编译模块request对象的关联文件,如请求路径文件、请求加载文件、请求指向文件以及请求解析文件等。应用上下文信息关联文件为待编译模块中contextInfo对象的关联文件。在本发明实施例中,如果请求发起方(issuer)在配置的目录内,则加入编译;如果请求的文件(request,contextInfo)在配置的目录内,则加入编译;除上述两种情况,其他都不加入编译。
在一实施例中,所述待编译模块文件包括至少一个新增功能模块对应的目录文件。如图5所示,步骤S400包括:
S410,获取每个新增模块的标识信息,根据每个新增模块的标识信息识别该新增模块的目录文件中待编译模块文件。
S430,分别获取所述每个新增模块对应的待编译模块文件的关联的待编译代码。
在本实施例中,该应用开发编译处理方法可应用于多模块合作的场景。如上实施例所述,对于目标项目开发的新功能模块,webpack会在对应的目录结构的根目录下配置相应功能的模块文件。在应用页面开发项目中,针对多模块合作的开发,开发完成后目录结构中增加了该多个模块对应的模块文件。插件通过获取每个新增功能模块的标识信息,以分别识别出每个新增功能模块,并将每个新增功能模块对应的待编译模块文件的关联的待编译代码写入webpack的配置文件中,以待webpack执行编译。
在一实施例中,步骤S400包括:获取所述待编译模块文件的代码以及所述待编译模块文件引用的外部代码,并将所述待编译模块文件的代码和所述外部代码作为所述待编译代码。
应用页面的模块化开发不必在html页面引用所有的js文件。所有的js文件都进行模块化设置,模块之间可以相互引用。webpack模块化开发是使用module.exports进行相关方法和属性的导出,提供其它模块使用。每个模块的都有自己的作用域,并且每个模块的属性和方法都是局部的,其它的模块是无法使用。在本实施例中,插件获取待编译模块文件引用的所有模块的代码,即引用的外部代码,并将该引用的外部代码与待编译模块文件的代码作为待编译代码,写入webpack的配置文件中,以待webpack执行编译。
本发明还提供一种网页应用开发编译装置。在一实施例中,如图6所示,该网页应用开发编译装置包括第一获取模块100、第二获取模块200、识别模块300以及编译模块400。
第一获取模块100用于获取网页应用开发之前,目标页面开发项目的第一目录结构。对于网页的应用开发,每个项目的目录结构应该是确定的。特别是对于使用模块打包工具(webpack)进行的单页面应用开发,页面开发项目的目录结构更为清晰,后台系统可以快速识别目录结构下每个根目录以及子目录的文件。
如图4所示,目标页面开发项目的目录结构中包括多个架构,每个架构包括根目录文件,每个根目录文件可以包括多个不同的子目录文件。每个目录文件对应不同的应用模块,执行不同的功能。后台系统可以通过遍历识别出目录结构中每个模块的相关文件,即每个目录或者子目录文件。
在本实施例中,插件在应用开发之前,先获取目标页面开发项目的目录结构,记为第一目录结构,并缓存在本地存储中。
第二获取模块200用于获取网页应用开发之后,所述目标页面开发项目的第二目录结构;其中,所述第二目录结构包括所述目标页面开发项目在开发过程中增加的待编译模块文件。在应用页面开发项目的目录结构中,每个根目录的文件及根目录下的子目录的文件执行不同的任务,实现不同的功能。针对目标页面开发项目,先获取开发之前的目录结构作为第一目录结构。进而,研发人员对目标页面开发项目进行新功能的模块开发。对于目标项目开发的新功能模块,webpack会在对应的根目录下配置相应功能的模块文件。也即是在应用程序开发过程中,webpack会在第一目录结构中增加本方案所述的待编译模块文件。在本实施例中,插件进一步获取应用开发之后,所述目标页面开发项目的目录结构,记为第二目录结构。
识别模块300用于对比所述第一目录结构和所述第二目录结构,识别出所述待编译模块文件。传统的,webpack执行编译时,把整个应用项目中每个目录下的所有文件都执行编译。也即是说,webpack对开发之后的目标页面开发项目,会将整个目录文件都进行编译,此时编译速度非常慢。
本实施例中,插件根据获取的第一目录结构和第二目录结构,识别出目标页面开发项目在开发过程中增加的待编译模块文件。具体地,插件将所述第一目录结构和所述第二目录结构进行对比,获取所述第二目录结构中比所述第一目录结构多出的模块文件,将所述多出的模块文件作为所述待编译模块文件。
编译模块400用于获取与所述待编译模块文件关联的待编译代码,对所述待编译代码执行编译。在本实施例中,插件获取到webpack中,在开发过程中增加的待编译模块文件之后,进一步获取各个待编译模块文件的代码,即待编译代码。将待编译代码写入webpack的配置文件中,由webpack执行编译。
在其他实施例中,本发明提供的应用开发编译处理装置中的各个模块还用于执行本发明所述的网页应用开发编译方法中,对应各个步骤执行的操作,在此不再做详细的说明。
本发明还提供一种存储介质。该存储介质上存储有计算机程序;所述计算机程序被处理器执行时,实现上述任一实施例所述的网页应用开发编译方法。该存储介质可以是存储器。例如,内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储介质包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
本发明还提供一种计算机设备。一种计算机设备包括:一个或多个处理器;存储器;一个或多个应用程序。其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述任一实施例所述的网页应用开发编译方法。
图7为本发明一实施例中的计算机设备的结构示意图。本实施例所述计算机设备可以是服务器、个人计算机以及网络设备。如图7所示,设备包括处理器703、存储器705、输入单元707以及显示单元709等器件。本领域技术人员可以理解,图7示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器705可用于存储应用程序701以及各功能模块,处理器703运行存储在存储器705的应用程序701,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元707用于接收信号的输入,以及接收用户输入的关键字。输入单元707可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元709可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元709可采用液晶显示器、有机发光二极管等形式。处理器703是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器703内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一实施方式中,设备包括一个或多个处理器703,以及一个或多个存储器705,一个或多个应用程序701。其中所述一个或多个应用程序701被存储在存储器705中并被配置为由所述一个或多个处理器703执行,所述一个或多个应用程序701配置用于执行以上实施例所述的网页应用开发编译方法。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
应该理解的是,在本发明各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种网页应用开发编译方法,其特征在于,包括:
获取网页应用开发之前,目标页面开发项目的第一目录结构;
获取网页应用开发之后,所述目标页面开发项目的第二目录结构;其中,所述第二目录结构包括所述目标页面开发项目在开发过程中增加的待编译模块文件;
对比所述第一目录结构和所述第二目录结构,识别出所述待编译模块文件;
获取与所述待编译模块文件关联的待编译代码,对所述待编译代码执行编译。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述待编译模块文件关联的待编译代码,包括:
获取与所述待编译模块文件关联的存储路径;
根据所述存储路径读取所述待编译模块文件关联的待编译代码。
3.根据权利要求1所述的方法,其特征在于,所述获取与所述待编译模块文件关联的待编译代码,包括:
获取所述待编译模块文件中,被请求资源的模块文件的绝对路径;
根据所述绝对路径获取所述待编译代码。
4.根据权利要求1所述的方法,其特征在于,所述获取与所述待编译模块文件关联的待编译代码,包括:
获取所述待编译模块文件中请求信息的关联文件,将所述请求信息的关联文件的代码加入所述待编译代码。
5.根据权利要求1所述的方法,其特征在于,所述获取与所述待编译模块文件关联的待编译代码,包括:
获取所述待编译模块文件中应用上下文信息的关联文件,将所述应用上下文信息的关联文件的代码加入所述待编译代码。
6.根据权利要求1所述的方法,其特征在于,所述待编译模块文件包括至少一个新增功能模块对应的目录文件;所述获取与所述待编译模块文件关联的待编译代码,包括:
获取每个新增模块的标识信息,根据每个新增模块的标识信息识别该新增模块的目录文件中待编译模块文件;
分别获取所述每个新增模块对应的待编译模块文件的关联的待编译代码。
7.根据权利要求1所述的方法,其特征在于,所述获取与所述待编译模块文件关联的待编译代码,包括:
获取所述待编译模块文件的代码以及所述待编译模块文件引用的外部代码,并将所述待编译模块文件的代码和所述外部代码作为所述待编译代码。
8.一种网页应用开发编译装置,其特征在于,包括:
第一获取模块,用于获取网页应用开发之前,目标页面开发项目的第一目录结构;
第二获取模块,用于获取网页应用开发之后,所述目标页面开发项目的第二目录结构;其中,所述第二目录结构包括所述目标页面开发项目在开发过程中增加的待编译模块文件;
识别模块,用于对比所述第一目录结构和所述第二目录结构,识别出所述待编译模块文件;
编译模块,用于获取与所述待编译模块文件关联的待编译代码,对所述待编译代码执行编译。
9.一种存储设备,其特征在于,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述权利要求1至7中任一项所述的网页应用开发编译方法。
10.一种计算机设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据权利要求1至7任一项所述的网页应用开发编译方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810931279.3A CN109358841B (zh) | 2018-08-15 | 2018-08-15 | 网页应用开发编译方法、装置及存储设备、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810931279.3A CN109358841B (zh) | 2018-08-15 | 2018-08-15 | 网页应用开发编译方法、装置及存储设备、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109358841A true CN109358841A (zh) | 2019-02-19 |
CN109358841B CN109358841B (zh) | 2024-04-30 |
Family
ID=65350021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810931279.3A Active CN109358841B (zh) | 2018-08-15 | 2018-08-15 | 网页应用开发编译方法、装置及存储设备、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109358841B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124420A (zh) * | 2019-12-19 | 2020-05-08 | 北京百度网讯科技有限公司 | 编译方法、装置、电子设备及可读存储介质 |
CN111443906A (zh) * | 2020-03-25 | 2020-07-24 | 北京奇艺世纪科技有限公司 | 一种应用的访问方法和装置 |
CN112068895A (zh) * | 2020-08-10 | 2020-12-11 | 深圳市鼎盛光电有限公司 | 代码配置方法、装置、视频播放设备及存储介质 |
CN112965721A (zh) * | 2021-02-26 | 2021-06-15 | 平安壹钱包电子商务有限公司 | 基于Android的项目编译方法、装置、计算机设备及存储介质 |
CN112988161A (zh) * | 2021-03-19 | 2021-06-18 | 广联达科技股份有限公司 | 编译产物的绝对路径的构建方法、装置和可读存储介质 |
CN113254019A (zh) * | 2020-02-10 | 2021-08-13 | 北京沃东天骏信息技术有限公司 | 注册前端数据流状态文件的方法和装置 |
CN113918170A (zh) * | 2021-11-19 | 2022-01-11 | 杭州涂鸦信息技术有限公司 | 一种软件产品开发方法、装置、设备及介质 |
WO2022247594A1 (zh) * | 2021-05-28 | 2022-12-01 | 腾讯科技(深圳)有限公司 | 一种页面呈现方法、装置、电子设备、计算机可读存储介质、及计算机程序产品 |
CN112965721B (zh) * | 2021-02-26 | 2024-07-02 | 平安壹钱包电子商务有限公司 | 基于Android的项目编译方法、装置、计算机设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070055963A1 (en) * | 2005-09-08 | 2007-03-08 | Lucent Technologies, Inc. | Compile target and compiler flag extraction in program analysis and transformation systems |
CN102053855A (zh) * | 2010-12-13 | 2011-05-11 | 浪潮(北京)电子信息产业有限公司 | 一种软件的生成系统及方法 |
JP2016537755A (ja) * | 2013-10-18 | 2016-12-01 | マイクロソフト テクノロジー ライセンシング,エルエルシー | インタラクティブ開発環境からソフトウェアアーチファクトをインクリメンタルにコンパイルすること |
CN106462434A (zh) * | 2014-06-25 | 2017-02-22 | 微软技术许可有限责任公司 | 整个程序代码的增量式编译 |
CN107479881A (zh) * | 2017-07-31 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 差异代码的同步方法、存储介质、电子设备及系统 |
CN107656736A (zh) * | 2017-09-28 | 2018-02-02 | 上海鼎为电子科技(集团)有限公司 | 提高安卓系统编译速度的方法及装置 |
CN107783780A (zh) * | 2017-11-21 | 2018-03-09 | 中国银行股份有限公司 | 一种代码复查方法和系统 |
CN107844300A (zh) * | 2017-11-03 | 2018-03-27 | 中国银行股份有限公司 | 脚本处理方法及系统 |
CN108279904A (zh) * | 2017-12-26 | 2018-07-13 | 努比亚技术有限公司 | 代码编译方法及终端 |
-
2018
- 2018-08-15 CN CN201810931279.3A patent/CN109358841B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070055963A1 (en) * | 2005-09-08 | 2007-03-08 | Lucent Technologies, Inc. | Compile target and compiler flag extraction in program analysis and transformation systems |
CN102053855A (zh) * | 2010-12-13 | 2011-05-11 | 浪潮(北京)电子信息产业有限公司 | 一种软件的生成系统及方法 |
JP2016537755A (ja) * | 2013-10-18 | 2016-12-01 | マイクロソフト テクノロジー ライセンシング,エルエルシー | インタラクティブ開発環境からソフトウェアアーチファクトをインクリメンタルにコンパイルすること |
CN106462434A (zh) * | 2014-06-25 | 2017-02-22 | 微软技术许可有限责任公司 | 整个程序代码的增量式编译 |
CN107479881A (zh) * | 2017-07-31 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 差异代码的同步方法、存储介质、电子设备及系统 |
CN107656736A (zh) * | 2017-09-28 | 2018-02-02 | 上海鼎为电子科技(集团)有限公司 | 提高安卓系统编译速度的方法及装置 |
CN107844300A (zh) * | 2017-11-03 | 2018-03-27 | 中国银行股份有限公司 | 脚本处理方法及系统 |
CN107783780A (zh) * | 2017-11-21 | 2018-03-09 | 中国银行股份有限公司 | 一种代码复查方法和系统 |
CN108279904A (zh) * | 2017-12-26 | 2018-07-13 | 努比亚技术有限公司 | 代码编译方法及终端 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124420B (zh) * | 2019-12-19 | 2023-06-20 | 北京百度网讯科技有限公司 | 编译方法、装置、电子设备及可读存储介质 |
CN111124420A (zh) * | 2019-12-19 | 2020-05-08 | 北京百度网讯科技有限公司 | 编译方法、装置、电子设备及可读存储介质 |
CN113254019A (zh) * | 2020-02-10 | 2021-08-13 | 北京沃东天骏信息技术有限公司 | 注册前端数据流状态文件的方法和装置 |
CN111443906A (zh) * | 2020-03-25 | 2020-07-24 | 北京奇艺世纪科技有限公司 | 一种应用的访问方法和装置 |
CN111443906B (zh) * | 2020-03-25 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种应用的访问方法和装置 |
CN112068895A (zh) * | 2020-08-10 | 2020-12-11 | 深圳市鼎盛光电有限公司 | 代码配置方法、装置、视频播放设备及存储介质 |
CN112068895B (zh) * | 2020-08-10 | 2023-12-19 | 深圳市鼎盛光电有限公司 | 代码配置方法、装置、视频播放设备及存储介质 |
CN112965721A (zh) * | 2021-02-26 | 2021-06-15 | 平安壹钱包电子商务有限公司 | 基于Android的项目编译方法、装置、计算机设备及存储介质 |
CN112965721B (zh) * | 2021-02-26 | 2024-07-02 | 平安壹钱包电子商务有限公司 | 基于Android的项目编译方法、装置、计算机设备及存储介质 |
CN112988161A (zh) * | 2021-03-19 | 2021-06-18 | 广联达科技股份有限公司 | 编译产物的绝对路径的构建方法、装置和可读存储介质 |
CN112988161B (zh) * | 2021-03-19 | 2024-05-28 | 广联达科技股份有限公司 | 编译产物的绝对路径的构建方法、装置和可读存储介质 |
WO2022247594A1 (zh) * | 2021-05-28 | 2022-12-01 | 腾讯科技(深圳)有限公司 | 一种页面呈现方法、装置、电子设备、计算机可读存储介质、及计算机程序产品 |
CN113918170A (zh) * | 2021-11-19 | 2022-01-11 | 杭州涂鸦信息技术有限公司 | 一种软件产品开发方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109358841B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109358841A (zh) | 网页应用开发编译方法、装置及存储设备、计算机设备 | |
Hendry et al. | Camelot–intuitive software for camera trap data management | |
EP2891992A1 (en) | Systems and methods for visual definition of data associations | |
Guo | Software tools to facilitate research programming | |
Schiavone et al. | An extensible environment for guideline-based accessibility evaluation of dynamic Web applications | |
Pimentel et al. | Collecting and Analyzing Provenance on Interactive Notebooks: When {IPython} Meets {noWorkflow} | |
CN108027721B (zh) | 用于使用控件来配置通用程序的技术 | |
CN109375921A (zh) | 页面文件快速编译方法、装置及存储设备、计算机设备 | |
CN102810078A (zh) | 一种分析Linux内核动态执行的方法 | |
CN110795697A (zh) | 逻辑表达式的获取方法、装置、存储介质以及电子装置 | |
Bissyandé et al. | Orion: A software project search engine with integrated diverse software artifacts | |
EP1909170A1 (en) | Method and system for automatically generating a communication interface | |
Silva et al. | Capturing provenance for runtime data analysis in computational science and engineering applications | |
US9507567B2 (en) | Facilitating use of techniques implemented by external library functions in process definitions of analytical applications | |
Rahman et al. | Toward optimal selection of information retrieval models for software engineering tasks | |
CN109271161A (zh) | 样板代码生成方法、装置及存储设备及计算机设备 | |
Guo et al. | Detecting clones in business applications | |
CN115454382A (zh) | 需求处理方法和装置、电子设备、存储介质 | |
CN103577222A (zh) | 识别移动终端中存储卡的方法及装置 | |
Tennyson | ASAP: A Source Code Authorship Program | |
Gonçalves et al. | Supporting adaptation of web applications to the mobile environment with automated usability evaluation | |
CN109871214A (zh) | 程序代码生成方法、装置、计算机设备和存储介质 | |
CN113176878B (zh) | 自动查询方法、装置和设备 | |
CN113673231B (zh) | 一种自动编目方法、设备及存储介质 | |
US11272022B2 (en) | Server for generating integrated usage log data and operating method thereof |
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 |