CN113312032A - 前端项目资源更新方法、装置、电子设备及存储介质 - Google Patents
前端项目资源更新方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113312032A CN113312032A CN202110715840.6A CN202110715840A CN113312032A CN 113312032 A CN113312032 A CN 113312032A CN 202110715840 A CN202110715840 A CN 202110715840A CN 113312032 A CN113312032 A CN 113312032A
- Authority
- CN
- China
- Prior art keywords
- project
- resource
- module
- resources
- updated
- 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
Images
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及计算机技术领域,提供了一种前端项目资源更新方法、装置、电子设备及存储介质。该方法包括:获取第一前端项目对应的项目资源模块,项目资源模块包括在第一前端项目的开发过程中所产生的资源模块;对项目资源模块中符合预设要求的组件执行提取操作,将提取出来的组件进行打包得到公共模块,并将公共模块发布到资源管理器;当确定第二前端项目发生更新时,对公共模块执行更新操作,并将更新后的公共模块从资源管理器引入到第二前端项目中;其中,第二前端项目与第一前端项目为具有相同公共模块的前端项目。本公开能够降低前端项目的开发难度,提高项目资源的加载速度,提升用户体验。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种前端项目资源更新方法、装置、电子设备及存储介质。
背景技术
随着互联网的发展,网站的设计越来越复杂,网页应用的功能也越来越丰富。在前端项目开发过程中,当前端项目发生更新时,需要将更新后的项目资源加载到新的前端项目中去。
目前已知的前端项目资源更新方式中,通过在原始前端项目中对项目资源进行更新,并将更新后的项目资源直接从原始前端项目打包到新的前端项目中去,或者在新的前端项目中对项目资源进行重新开发。然而,上述前端项目资源更新方式,无法降低所需更新项目资源的大小,增加了项目资源的开发难度,导致对项目资源的加载速度降低,影响用户体验。
基于现有技术,需要提供一种能够降低项目资源大小,降低项目开发难度,提升项目资源的加载速度,提升用户体验的前端项目资源更新方案。
发明内容
有鉴于此,本公开实施例提供了一种前端项目资源更新方法、装置、电子设备及存储介质,以解决现有技术存在的无法降低所需更新项目资源的大小,项目资源的加载速度降低,用户体验差的问题。
本公开实施例的第一方面,提供了一种前端项目资源更新方法,包括:获取第一前端项目对应的项目资源模块,项目资源模块包括在第一前端项目的开发过程中所产生的资源模块;对项目资源模块中符合预设要求的组件执行提取操作,将提取出来的组件进行打包得到公共模块,并将公共模块发布到资源管理器;当确定第二前端项目发生更新时,对公共模块执行更新操作,并将更新后的公共模块引入到第二前端项目中;其中,第二前端项目与第一前端项目为具有相同公共模块的前端项目。
本公开实施例的第二方面,提供了一种前端项目资源更新装置,包括:获取模块,被配置为获取第一前端项目对应的项目资源模块,项目资源模块包括在第一前端项目的开发过程中所产生的资源模块;提取模块,被配置为对项目资源模块中符合预设要求的组件执行提取操作,将提取出来的组件进行打包得到公共模块,并将公共模块发布到代码依赖管理器中;更新模块,被配置为当确定第二前端项目发生更新时,对公共模块执行更新操作,并将更新后的公共模块引入到第二前端项目中;其中,第二前端项目与第一前端项目为具有相同公共模块的前端项目。
本公开实施例的第三方面,提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法的步骤。
本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本公开实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过获取第一前端项目对应的项目资源模块,项目资源模块包括在第一前端项目的开发过程中所产生的资源模块;对项目资源模块中符合预设要求的组件执行提取操作,将提取出来的组件进行打包得到公共模块,并将公共模块发布到资源管理器;当确定第二前端项目发生更新时,对公共模块执行更新操作,并将更新后的公共模块引入到第二前端项目中;其中,第二前端项目与第一前端项目为具有相同公共模块的前端项目,能够有效降低前端项目资源更新中项目资源的大小,无需在新的前端项目中对所有的项目资源进行重新开发,降低项目资源的开发难度,提升项目资源的加载速度,提升产品的用户体验。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是相关技术中基于原始前端项目实现前端项目资源更新的示意图;
图2是本公开实施例提供的前端项目资源更新方法的流程示意图;
图3是本公开实施例提供的基于公共模块实现前端项目资源更新的示意图;
图4是本公开实施例提供的基于公共模块以及图片资源对前端项目资源更新的示意图;
图5是本公开实施例提供的前端项目资源更新装置的结构示意图;
图6是本公开实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
在前端项目开发过程中,可能存在多个项目一起或者先后开发,另外,对于同一项目来说,受业务及产品需求的变化,也需要经常对前端项目进行更新,而要更新前端项目必然要对前端项目的资源进行更新。下面结合附图对相关技术中实现前端项目资源更新的方式进行说明。图1是相关技术中基于原始前端项目实现前端项目资源更新的示意图。如图1所示,该更新过程主要包括以下内容:
首先,在原始前端项目(用左侧虚线框表示)中对项目资源(虚线框内的各个资源模块)进行更新,例如,由开发人员根据需求对项目资源进行更新,之后,根据更新后的原始前端项目中的项目资源,对新的前端项目进行更新,例如,将更新后的项目资源直接从原始前端项目引入到新的前端项目中。然而,这种项目资源更新方式需要将更新后的项目资源进行重新打包,并且当需要更新的项目比较多时,需要针对每个项目重复进行更新,因此,无法降低项目资源更新的复杂度。
另外,相关技术中还可以通过引入第三方资源的方式对项目资源进行更新,但是,第三方项目资源的更新也需要在更新版本后重新打包。例如:想将A网页开发项目的资源更新到B网页的项目中去,就需要在B网页的项目中对项目资源进行重新开发,或者对项目资源进行重新开发后发布到第三方资源库中,通过引入第三方资源的方式对B网页的项目进行更新,因此,上述更新方式将会导致多个项目进行切换开发。
进一步地,在开发过程中打包前端项目资源时,如果项目整体比较复杂,资源量比较大,那么在网页上呈现时加载资源的耗时就会比较长,导致网页出现卡顿的问题。相关技术中虽然对前端项目资源进行了一些优化,例如,从项目资源打包层面来说,可以通过简化代码、分割打包文件、提取静态文件、gzip压缩代码等方式,这些方式虽然能够减小打包体积,提高加载速度,但是,每当有新的项目资源发生更新后,都需要重复进行优化和配置,因此,也会降低加载项目资源的速度。
由此可见,无论上述相关技术中的哪种方式,都需要对新的项目资源进行重新开发、打包和优化配置,无法有效降低项目资源的大小,导致项目资源的加载速度降低,提升项目开发的难度,降低产品的用户体验。有鉴于此,为了解决前端项目资源更新时需要重复进行开发、打包和优化配置,项目资源的加载速度低,产品用户体验差的问题,本公开实施例提供一种无需对同一项目资源重复进行开发,降低项目开发难度,加快项目资源加载速度的前端项目资源更新方案。
图2是本公开实施例提供的前端项目资源更新方法的流程示意图。图2的前端项目资源更新方法可以由服务器执行。如图2所示,该前端项目资源更新方法具体可以包括:
S201,获取第一前端项目对应的项目资源模块,项目资源模块包括在第一前端项目的开发过程中所产生的资源模块;
S202,对项目资源模块中符合预设要求的组件执行提取操作,将提取出来的组件进行打包得到公共模块,并将公共模块发布到资源管理器;
S203,当确定第二前端项目发生更新时,对公共模块执行更新操作,并将更新后的公共模块引入到第二前端项目中;其中,第二前端项目与第一前端项目为具有相同公共模块的前端项目。
具体地,前端项目是指web前端项目,web前端项目可以通过安装在手机等移动终端中的web应用程序来实现,项目资源则是在前端项目的开发过程中,针对项目本身所产生的资源数据文件,在实际应用中,前端项目资源包括但不限于以下类型的数据资源:网页展示信息、交互信息(比如点击、查看)、调取后端接口信息、组织方式等。
进一步地,在前端项目的开发过程中,为了简化项目开发的复杂度,可以通过对前端项目资源进行模块化处理,将复杂的程序文件拆分、组合成一个个小的资源文件包,每个资源文件包可以认为是一个项目资源模块,在实际应用中,可以使用Webpack将前端项目资源打包成多个项目资源模块;每个资源文件包中可以包含一种类型的资源文件,如一个资源文件包中存储的是与交互相关的文件。
其中,每个项目资源模块中又可以包含多个组件,例如头部组件、交互组件、接口组件、界面组件等。需要说明的是,本公开实施例中不对前端项目以及前端项目资源的具体内容做过分限定,任何能够实现开发的前端项目及其产生的前端项目资源都适用于本公开实施例,例如web页面项目等。
根据本公开实施例提供的技术方案,通过获取第一前端项目对应的项目资源模块,项目资源模块包括在第一前端项目的开发过程中所产生的资源模块;对项目资源模块中符合预设要求的组件执行提取操作,将提取出来的组件进行打包得到公共模块,并将公共模块发布到资源管理器;当确定第二前端项目发生更新时,对公共模块执行更新操作,并将更新后的公共模块引入到第二前端项目中;其中,第二前端项目与第一前端项目为具有相同公共模块的前端项目,能够有效降低前端项目资源更新中项目资源的大小,无需在新的前端项目中对所有的项目资源进行重新开发,降低项目资源的开发难度,提升项目资源的加载速度,提升产品的用户体验。
在一些实施例中,获取第一前端项目对应的项目资源模块,包括:在后端对第一前端项目的开发过程中,获取第一前端项目对应的项目资源,将项目资源按照资源类型拆分成若干个项目资源模块;其中,每个项目资源模块中包含至少一种类型的项目资源。
具体地,前端项目的开发过程中会产生大量的项目资源,项目资源包括前端项目开发中所生产出来的代码文件和信息,例如,基础的资源文件、网页展示信息、交互信息、调取后端接口信息、组织方式等。以网页应用项目开发为例,在web页面应用的开发过程中,会生成一些复杂的JavaScript代码和代码依赖文件,这些JavaScript代码和代码依赖文件就可以认为是该web页面应用开发项目的项目资源。
进一步地,在本公开实施例中,将前端项目开发过程中所生成的项目资源按照其对应的资源类型进行拆分并组合成若干个项目资源模块,例如,将项目资源中用于表示交互的信息拆分提取出来,之后将这部分信息打包成一个项目资源模块,即该项目资源模块中可以仅包含交互信息的资源,因此,也可以称该项目资源模块为交互资源模块,项目资源中用于表示交互功能的资源就可以认为是一种资源类型。基于上述操作,便可以从项目资源中拆分打包出若干个项目资源模块,比如用于表示调用的项目资源模块、用于表示组织方式的项目资源模块等。
需要说明的是,每个项目资源模块中除了包含特定的项目资源(即与其资源类型相对应的项目资源)之外,还可以包含一些其他的项目资源,本公开实施例不对项目资源模块中具体资源的信息进行限定,在实际应用中,可根据实际应用场景来确定项目资源模块。
在一些实施例中,符合预设要求的组件包括具有相同功能的组件和/或项目资源模块中的头部组件。
具体地,在获取第一前端项目对应的所有项目资源模块之后,将这些项目资源模块中符合预设要求的组件提取出来,并将提取出来的组件单独打包成一个模块(即公共模块)。这里,符合预设要求的组件可以是一些具有相同功能的组件或者项目中的头部组件,这些组件具有相同的特点,即在不同的项目中可能会多次重复利用到这些组件。
例如,在本公开实施例中,可以在多个项目之间多次重复利用的组件可以包括以下类型的组件:功效相同的组件、交互相同的组件、接口相同的组件、界面相同的组件以及项目中的头部组件等。在实际应用中,由于多个项目之间可能会一起或者先后进行开发,因此,可以基于这些项目的特点预先确定哪些功能组件会在这些项目之间多次重复的利用。
在一些实施例中,将提取出来的组件进行打包得到公共模块,并将公共模块发布到资源管理器,包括:将打包后得到的公共模块以预定的方式,通过内容分发网络CDN发布到资源管理器对应的服务器中;其中,资源管理器包括npm代码依赖管理器,预定的方式包括npm代码发布和共享方式。
具体地,将项目资源模块中符合上述预设要求的组件提取出来之后,将提取出来的组件进行打包,得到一个或多个新的项目资源模块(即公共模块),由于该模块中的项目资源可以在多个不同的项目之间进行重复利用,因此将其称为公共模块。
进一步地,在本公开实施例中,将公共模块通过内容分发网络CDN发布到资源管理器对应的服务器中;内容分发网络(Content Delivery Network,CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络;CDN网络中可以包含以下功能实体:内容缓存设备、内容交换机、内容路由器、CDN内容管理系统等;CDN应用广泛,支持多种行业、多种场景内容加速,例如:图片文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速等。
通过CDN网络将公共模块发布到资源管理器对应的服务器中,这里,资源管理器可以采用npm代码依赖管理器,npm(Node Package Manager)是nodejs的包管理和分发工具,npm可以让JavaScript开发者能够更加轻松的共享代码和共用代码片段,并且通过npm管理发布的代码具有方便快捷的特点。由于通过npm管理器发布公共模块,因此,打包后的公共模块将被发布为npm包。
需要说明的是,本公开实施例不对公共模块发布到npm后台服务器的过程进行详细说明,在将打包后的公共模块发布到npm后台服务器时,需要按照npm管理器对发布和共享代码资源的方式进行处理,例如在公共模块的发布时,使用npm publish把代码提交到registry上,当其他项目需要拉取使用这些代码时,就可以写到package.json里,然后运行npm install,npm管理器就会自动下载代码。
根据本公开实施例提供的技术方案,通过将可能多次重复利用的功能组件提取出来打包成公共模块,当其他项目发生更新时,只需要对公共模块进行更新,而无需重复开发具有相同功能的项目资源模块,因此,简化了项目开发过程,减少了所需更新项目资源的大小;另外,通过CDN网络将公共模块发布到npm后台服务器的方式,提高了资源加载的速度。
在一些实施例中,将更新后的公共模块从资源管理器引入到第二前端项目中,包括:将更新后的公共模块处理成符合预设格式要求的文件,当检测到用户访问第二前端项目对应的web页面时,根据文件生成地址链接,并将地址链接发送到web页面对应的前端页面文件中。
具体地,当与第一前端项目具有相同公共模块的第二前端项目发生更新时,用户点击第二前端项目的web页面后,第二前端项目的web页面自动加载该web页面下的资源和信息,比如加载web页面的js文件;其中,对于公共模块中的资源,第二前端项目的web页面根据获取到的URL地址链接从npm后台服务器中直接拉取资源文件,从而获取公共模块的资源。
下面结合附图对本公开实施例中基于公共模块实现项目资源更新的过程进行说明。图3是本公开实施例提供的基于公共模块实现前端项目资源更新的示意图。如图3所示,该更新过程主要包括以下内容:
将原始前端项目的项目资源模块(如资源模块1...资源模块n)中可能在新的前端项目中重复利用的组件提取出来,并将提取出来的重复功能组件打包后发布到npm管理器中形成公共模块;当新的前端项目发生更新后,将更新后的公共模块中的资源以URL地址链接的方式重新引入到新的前端项目中。
进一步地,在本公开实施例中,在将公共模块中的资源引入到新的前端项目中去之前,需要将公共模块中的资源处理成js文件和css文件,对公共模块的处理包括代码压缩、打包、格式转换等操作,之后根据处理得到的js文件和cSS文件生成URL地址链接,并将URL地址链接引入到新的前端项目所对应的html文件中。
需要说明的是,当第二前端项目发生更新时,对于属于公共模块中的资源来说,只对公共模块进行更新即可,而无需对这部分资源进行重新开发打包,虽然公共模块中的资源发生了变化,但是公共模块对应的URL地址连接却不会发生变化,因此,仍然可以基于URL地址链接从npm后台服务器中拉取公共模块中的资源。
根据本公开实施例提供的技术方案,通过在新项目中以js和csS的文件方式在html中直接引入并使用,当项目发生更新后,对于具有相同功能的组件只需要更新公共模块中的资源,新前端项目对应的web页面可以继续引用已生成的URL地址链接,并当用户访问web页面时通过该URL地址链接拉取公共模块中的资源,因此,本公开实施例的项目资源更新方法不会对用户造成打扰,可以实现web项目资源的无感知更新,提升了产品的用户体验。
在本公开另外的一些实施例中,该前端项目资源更新方法还包括:获取第一前端项目所对应项目资源中的图片资源,将图片资源通过内容分发网络CDN发布到指定的资源库中。
具体地,对于前端项目资源中的图片资源来说,由于图片资源所占的空间非常大,因此,如果在原始前端项目中对图片资源进行更新,或者将原始前端项目内更新后的图片资源直接引入到新前端项目中时,资源的加载速度会比较慢,容易导致网页出现卡顿。在本公开实施例中,将前端项目中的图片资源单独提取出来进行发布,例如,可以将前端项目中的图片资源提取出来后存储到图片资源的服务器中,并根据图片资源生成URL地址链接,并以绝对路径的方式引入到新的前端项目中去。
下面结合附图对本公开实施例中基于公共模块以及图片资源实现项目资源更新的过程进行说明。图4是本公开实施例提供的基于公共模块以及图片资源对前端项目资源更新的示意图。如图4所示,该更新过程主要包括以下内容:
对于公共模块的提取以及引入到新前端项目的过程,请参见前述实施例的内容,在此不再赘述,下面主要对图片资源的提取以及引入的过程进行说明。
在一些实施例中,在将图片资源以绝对路径的方式引入到第二前端项目中时,包括:根据图片资源生成绝对路径对应的地址链接,并将绝对路径对应的地址链接发送到第二前端项目的web页面所对应的前端页面文件中。
具体地,绝对路径可以认为是一种固定的URL地址链接,在任何地方访问地址都一样的路径,在将图片资源引入到新的前端项目中时,将根据图片资源所生成的URL地址链接引入到新的前端项目所对应的html文件中。当用户访问新的前端项目对应的web页面后,web页面通过html文件中的URL地址链接从图片资源服务器中获取上述图片资源,由于图片资源是从原始前端项目中单独提取和发布的,因此,图片资源的提取和引入过程与公共模块的提取和引入过程是相互单独的两个过程,与公共模块相似的是,图片资源也可以是第一前端项目和第二前端项目中相同图片所组成的资源。
根据本公开实施例提供的技术方案,通过将原始前端项目中的图片资源单独提取出来进行引入,可以降低新前端项目中图片资源的体积,提高新前端项目的web页面对图片资源的加载速度。本公开实施例中的公共模块和图片资源经过一次提取之后,可长期更新使用,不用重复进行配置,降低了前端项目开发的复杂度。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是本公开实施例提供的前端项目资源更新装置的结构示意图。如图5所示,该前端项目资源更新装置包括:
获取模块501,被配置为获取第一前端项目对应的项目资源模块,项目资源模块包括在第一前端项目的开发过程中所产生的资源模块;
提取模块502,被配置为对项目资源模块中符合预设要求的组件执行提取操作,将提取出来的组件进行打包得到公共模块,并将公共模块发布到代码依赖管理器中;
更新模块503,被配置为当确定第二前端项目发生更新时,对公共模块执行更新操作,并将更新后的公共模块从资源管理器引入到第二前端项目中;其中,第二前端项目与第一前端项目为具有相同公共模块的前端项目。
在一些实施例中,图5的获取模块501在后端对第一前端项目的开发过程中,获取第一前端项目对应的项目资源,将项目资源按照资源类型拆分成若干个项目资源模块;其中,每个项目资源模块中包含至少一种类型的项目资源。
在一些实施例中,符合预设要求的组件包括具有相同功能的组件和/或项目资源模块中的头部组件。
在一些实施例中,图5的提取模块502将提取出来的组件进行打包得到公共模块,并将公共模块发布到资源管理器,包括:将打包后得到的公共模块以预定的方式,通过内容分发网络CDN发布到资源管理器对应的服务器中;其中,资源管理器包括npm代码依赖管理器,预定的方式包括npm代码发布和共享方式。
在一些实施例中,图5的更新模块503将更新后的公共模块处理成符合预设格式要求的文件,当检测到用户访问第二前端项目对应的web页面时,根据文件生成地址链接,并将地址链接发送到web页面对应的前端页面文件中。
在一些实施例中,图5的提取模块502还获取第一前端项目所对应项目资源中的图片资源,将图片资源通过内容分发网络CDN发布到指定的资源库中。
在一些实施例中,图5的更新模块503根据图片资源生成绝对路径对应的地址链接,并将绝对路径对应的地址链接发送到第二前端项目的web页面所对应的前端页面文件中。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
图6是本公开实施例提供的电子设备6的结构示意图。如图6所示,该实施例的电子设备6包括:处理器601、存储器602以及存储在该存储器602中并且可以在处理器601上运行的计算机程序603。处理器601执行计算机程序603时实现上述各个方法实施例中的步骤。或者,处理器601执行计算机程序603时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序603可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器602中,并由处理器601执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序603在电子设备6中的执行过程。
电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备6可以包括但不仅限于处理器601和存储器602。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器601可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器602可以是电子设备6的内部存储单元,例如,电子设备6的硬盘或内存。存储器602也可以是电子设备6的外部存储设备,例如,电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器602还可以既包括电子设备6的内部存储单元也包括外部存储设备。存储器602用于存储计算机程序以及电子设备所需的其它程序和数据。存储器602还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (10)
1.一种前端项目资源更新方法,其特征在于,包括:
获取第一前端项目对应的项目资源模块,所述项目资源模块包括在所述第一前端项目的开发过程中所产生的资源模块;
对所述项目资源模块中符合预设要求的组件执行提取操作,将提取出来的所述组件进行打包得到公共模块,并将所述公共模块发布到资源管理器;
当确定第二前端项目发生更新时,对所述公共模块执行更新操作,并将更新后的公共模块从所述资源管理器引入到所述第二前端项目中;其中,所述第二前端项目与所述第一前端项目为具有相同所述公共模块的前端项目。
2.根据权利要求1所述的方法,其特征在于,所述获取第一前端项目对应的项目资源模块,包括:
在后端对所述第一前端项目的开发过程中,获取所述第一前端项目对应的项目资源,将所述项目资源按照资源类型拆分成若干个项目资源模块;
其中,每个所述项目资源模块中包含至少一种类型的项目资源。
3.根据权利要求1所述的方法,其特征在于,所述符合预设要求的组件包括具有相同功能的组件和/或所述项目资源模块中的头部组件。
4.根据权利要求1所述的方法,其特征在于,所述将提取出来的所述组件进行打包得到公共模块,并将所述公共模块发布到资源管理器,包括:
将打包后得到的所述公共模块以预定的方式,通过内容分发网络CDN发布到资源管理器对应的服务器中;
其中,所述资源管理器包括npm代码依赖管理器,所述预定的方式包括npm代码发布和共享方式。
5.根据权利要求1所述的方法,其特征在于,所述将更新后的公共模块从所述资源管理器引入到所述第二前端项目中,包括:
将所述更新后的公共模块处理成符合预设格式要求的文件,当检测到用户访问所述第二前端项目对应的web页面时,根据所述文件生成地址链接,并将所述地址链接发送到所述web页面对应的前端页面文件中。
6.根据权利要求1所述的方法,其特征在于,还包括:
获取所述第一前端项目所对应项目资源中的图片资源,将所述图片资源通过内容分发网络CDN发布到指定的资源库中。
7.根据权利要求6所述的方法,其特征在于,还包括将所述图片资源以绝对路径的方式引入到所述第二前端项目中,具体地:
根据所述图片资源生成绝对路径对应的地址链接,并将所述绝对路径对应的地址链接发送到所述第二前端项目的web页面所对应的前端页面文件中。
8.一种前端项目资源更新装置,其特征在于,包括:
获取模块,被配置为获取第一前端项目对应的项目资源模块,所述项目资源模块包括在所述第一前端项目的开发过程中所产生的资源模块;
提取模块,被配置为对所述项目资源模块中符合预设要求的组件执行提取操作,将提取出来的所述组件进行打包得到公共模块,并将所述公共模块发布到代码依赖管理器中;
更新模块,被配置为当确定第二前端项目发生更新时,对所述公共模块执行更新操作,并将更新后的公共模块从所述资源管理器引入到所述第二前端项目中;其中,所述第二前端项目与所述第一前端项目为具有相同所述公共模块的前端项目。
9.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110715840.6A CN113312032B (zh) | 2021-06-25 | 2021-06-25 | 前端项目资源更新方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110715840.6A CN113312032B (zh) | 2021-06-25 | 2021-06-25 | 前端项目资源更新方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312032A true CN113312032A (zh) | 2021-08-27 |
CN113312032B CN113312032B (zh) | 2023-06-09 |
Family
ID=77380482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110715840.6A Active CN113312032B (zh) | 2021-06-25 | 2021-06-25 | 前端项目资源更新方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312032B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703743A (zh) * | 2021-08-30 | 2021-11-26 | 北京房江湖科技有限公司 | 配置页面的方法和装置、渲染页面方法、客户端及服务器 |
CN115982491A (zh) * | 2023-03-20 | 2023-04-18 | 建信金融科技有限责任公司 | 页面更新方法及装置、电子设备和计算机可读存储介质 |
CN116546093A (zh) * | 2023-07-04 | 2023-08-04 | 云账户技术(天津)有限公司 | 一种基于静态资源管理平台的资源获取方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363564A (zh) * | 2018-01-23 | 2018-08-03 | 平安普惠企业管理有限公司 | 多项目组件化实现方法、装置、终端设备及存储介质 |
CN109614162A (zh) * | 2018-11-15 | 2019-04-12 | 福建天泉教育科技有限公司 | 基于组件开发模式下的前端加载优化方法、存储介质 |
CN111273898A (zh) * | 2020-02-25 | 2020-06-12 | 安徽以萨数据技术有限公司 | web前端代码自动化构建方法、系统及存储介质 |
CN111443921A (zh) * | 2020-03-27 | 2020-07-24 | 中国平安财产保险股份有限公司 | web前端项目的分包部署方法、系统和计算机设备 |
CN111857781A (zh) * | 2020-07-23 | 2020-10-30 | 平安普惠企业管理有限公司 | 资源更新方法及相关设备 |
-
2021
- 2021-06-25 CN CN202110715840.6A patent/CN113312032B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363564A (zh) * | 2018-01-23 | 2018-08-03 | 平安普惠企业管理有限公司 | 多项目组件化实现方法、装置、终端设备及存储介质 |
CN109614162A (zh) * | 2018-11-15 | 2019-04-12 | 福建天泉教育科技有限公司 | 基于组件开发模式下的前端加载优化方法、存储介质 |
CN111273898A (zh) * | 2020-02-25 | 2020-06-12 | 安徽以萨数据技术有限公司 | web前端代码自动化构建方法、系统及存储介质 |
CN111443921A (zh) * | 2020-03-27 | 2020-07-24 | 中国平安财产保险股份有限公司 | web前端项目的分包部署方法、系统和计算机设备 |
CN111857781A (zh) * | 2020-07-23 | 2020-10-30 | 平安普惠企业管理有限公司 | 资源更新方法及相关设备 |
Non-Patent Citations (1)
Title |
---|
作者不详: "webpack2--4多页面支持& 公共组件单独打包", 《CSDN: HTTPS://BLOG.CSDN.NET/QQ_40899714/ARTICLE/DETAILS/87894223》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703743A (zh) * | 2021-08-30 | 2021-11-26 | 北京房江湖科技有限公司 | 配置页面的方法和装置、渲染页面方法、客户端及服务器 |
CN113703743B (zh) * | 2021-08-30 | 2023-12-26 | 贝壳找房(北京)科技有限公司 | 配置页面的方法和装置、渲染页面方法、客户端及服务器 |
CN115982491A (zh) * | 2023-03-20 | 2023-04-18 | 建信金融科技有限责任公司 | 页面更新方法及装置、电子设备和计算机可读存储介质 |
CN116546093A (zh) * | 2023-07-04 | 2023-08-04 | 云账户技术(天津)有限公司 | 一种基于静态资源管理平台的资源获取方法及装置 |
CN116546093B (zh) * | 2023-07-04 | 2023-10-20 | 云账户技术(天津)有限公司 | 一种基于静态资源管理平台的资源获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113312032B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144711B2 (en) | Webpage rendering method, device, electronic apparatus and storage medium | |
CN113312032B (zh) | 前端项目资源更新方法、装置、电子设备及存储介质 | |
CN108563517B (zh) | 系统接口的调用方法及装置 | |
CN110750741A (zh) | 一种网页链接跳转处理方法、计算机装置及存储介质 | |
CN111338623B (zh) | 一种开发用户界面的方法、装置、介质和电子设备 | |
KR20170016347A (ko) | 디지털 콘텐츠를 위한 업데이트 개선 기법 | |
US9906626B2 (en) | Resource demand-based network page generation | |
CN110688096B (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
CN111478956A (zh) | 小程序包的部署、预览方法和装置 | |
CN110928571A (zh) | 业务程序开发方法和装置 | |
JP2013080404A (ja) | クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム | |
CN115617420A (zh) | 应用程序的生成方法、装置、设备以及存储介质 | |
CN112214250B (zh) | 一种应用程序组件的加载方法和装置 | |
CN113873013B (zh) | 一种离线包重组方法及系统 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN112650804B (zh) | 大数据接入方法、装置、系统及存储介质 | |
CN107678755B (zh) | 安装包打包的方法、装置、电子设备和计算机可读介质 | |
CN113760264A (zh) | 多应用之间组件复用的方法和装置 | |
US20190196794A1 (en) | Visual programming method, system and terminal device | |
CN111176641B (zh) | 流程节点执行方法、装置、介质及电子设备 | |
CN109669720B (zh) | 基于Promise的链式异步请求处理方法、装置及电子设备 | |
CN113779122B (zh) | 导出数据的方法和装置 | |
CN113596164A (zh) | 数据访问方法、装置、系统、设备和介质 | |
CN113542217A (zh) | 一种服务订阅系统 | |
CN113254019A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230113 Address after: 518054 cable information transmission building 25f2504, no.3369 Binhai Avenue, Haizhu community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Xumi yuntu Space Technology Co.,Ltd. Address before: No.103, no.1003, Nanxin Road, Nanshan community, Nanshan street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: Shenzhen Jizhi Digital Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |