CN109766503A - 一种模块化的前端框架构建方法及装置 - Google Patents

一种模块化的前端框架构建方法及装置 Download PDF

Info

Publication number
CN109766503A
CN109766503A CN201811629976.XA CN201811629976A CN109766503A CN 109766503 A CN109766503 A CN 109766503A CN 201811629976 A CN201811629976 A CN 201811629976A CN 109766503 A CN109766503 A CN 109766503A
Authority
CN
China
Prior art keywords
code
configuration file
frame
file
css
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.)
Pending
Application number
CN201811629976.XA
Other languages
English (en)
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.)
SHENZHEN LAN-YOU TECHNOLOG Co Ltd
Original Assignee
SHENZHEN LAN-YOU TECHNOLOG 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 SHENZHEN LAN-YOU TECHNOLOG Co Ltd filed Critical SHENZHEN LAN-YOU TECHNOLOG Co Ltd
Priority to CN201811629976.XA priority Critical patent/CN109766503A/zh
Publication of CN109766503A publication Critical patent/CN109766503A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种模块化的前端框架构建方法及装置,该方法包括:定义模块内容,所述模块内容包括配置文件、HTML代码、CSS代码及业务代码;编译所述配置文件以获得模块运行时所指向的文件;加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用。本发明的有益效果是,模块化构建单页面Web应用系统,实现模块间的资源隔离和模块的独立运行,并能够实现页面单独构建。

Description

一种模块化的前端框架构建方法及装置
技术领域
本发明涉及web应用系统开发技术领域,尤其涉及一种模块化的前端框架构建方法及装置。
背景技术
在基于单页面的web应用系统开发过程中,所有Web资源运行于同一个html页面,这与传统的多html页面运行机制完全不同。如何保证多个开发人员同时进行开发,这需要对静态资源进行模块化的划分。在模块化划分后,如何保证模块的独立运行和模块之间的有效交互,现有的技术方案一般为通过iframe引入独立的html页面,以实现模块间的隔离和访问。如此,部分单页面APP无法以独立的路径展示页面功能。因此,该方法的缺点主要有:
1、以iframe的形式引入性能低,存在跨域访问的问题;
2、单页面APP无法独立运行某个功能模块。
发明内容
本发明的目的在于提供一种模块化的前端框架构建方法及装置,解决现有技术中以iframe的形式引入性能低,存在跨域访问;以及单页面APP无法独立运行某个功能模块的问题。
本发明的技术方案实现如下:
一方面,本发明提供一种模块化的前端框架构建方法,包括:
定义模块内容,所述模块内容包括配置文件、HTML代码、CSS代码及业务代码;
编译所述配置文件以获得模块运行时所指向的文件;
加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用。
在本发明所述的前端框架构建方法中,所述定义模块内容,包括:
将所述配置文件引用所述HTML代码、所述CSS代码及所述业务代码;
定义所述配置文件以配置所述HTML代码、所述CSS代码及所述业务代码的路径;
初始化所述业务代码。
在本发明所述的前端框架构建方法中,所述编译所述配置文件以获得模块运行时所指向的文件,包括:
通过requireJS提供的插件进行模块化编译,从而依据所述配置文件生成编译文件;
依据所述编译文件获得模块运行时所指向的文件。
在本发明所述的前端框架构建方法中,所述加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用,包括:
加载所述配置文件;
加载并解析所述配置文件引用的HTML代码;
加载所述配置文件引用的CSS代码以替换页面多语言文件;
加载所述配置文件引用的业务代码;
依据所加载的所述HTML代码、所述CSS代码及所述业务代码进行UI元素权限解析;
构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用。
在本发明所述的前端框架构建方法中,所述构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用,包括:
加载并执行预设的jsx文件以兼容react,从而通过所述react构建所述前端UI框架。
另一方面,提供一种模块化的前端框架构建装置,其中存储有多条指令,所述指令适于由处理器加载并执行,包括:
定义模块内容,所述模块内容包括配置文件、HTML代码、CSS代码及业务代码;
编译所述配置文件以获得模块运行时所指向的文件;
加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用。
在本发明所述的前端框架构建装置中,所述定义模块内容,包括:
将所述配置文件引用所述HTML代码、所述CSS代码及所述业务代码;
定义所述配置文件以配置所述HTML代码、所述CSS代码及所述业务代码的路径;
初始化所述业务代码。
在本发明所述的前端框架构建装置中,所述编译所述配置文件以获得模块运行时所指向的文件,包括:
通过requireJS提供的插件进行模块化编译,从而依据所述配置文件生成编译文件;
依据所述编译文件获得模块运行时所指向的文件。
在本发明所述的前端框架构建装置中,所述加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用,包括:
加载所述配置文件;
加载并解析所述配置文件引用的HTML代码;
加载所述配置文件引用的CSS代码以替换页面多语言文件;
加载所述配置文件引用的业务代码;
依据所加载的所述HTML代码、所述CSS代码及所述业务代码进行UI元素权限解析;
构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用。
在本发明所述的前端框架构建装置中,所述构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用,包括:
加载并执行预设的jsx文件以兼容react,从而通过所述react构建所述前端UI框架。
因此,本发明的有益效果是,模块化构建单页面Web应用系统,实现模块间的资源隔离和模块的独立运行,并能够实现页面单独构建。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明一实施例提供的一种模块化的前端框架构建方法的流程图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,以下将对照附图详细说明本发明的具体实施方式。应当理解,以下说明仅为本发明实施例的具体阐述,不应以此限制本发明的保护范围。
参见图1,图1为本发明一实施例提供的一种模块化的前端框架构建方法的流程图,该模块化的前端框架构建方法包括步骤S1-S3:
S1、定义模块内容,所述模块内容包括配置文件、HTML代码、CSS代码及业务代码;步骤S1包括步骤S11-S13:
S11、将所述配置文件引用所述HTML代码、所述CSS代码及所述业务代码;其中:
配置文件为JS-PAGE-SRC:模块的访问路径,本方案中,模块的使用者可以通过#+配置文件路径的形式来进行访问,同时,配置文件中定义了当前模块的业务代码、UI布局代码和CSS代码的路径、多语言文件。
配置文件的具体格式如下:
业务代码为FUN-CODE:基于AMD的代码规范,通过init方法实现模块的初始化。代码格式如下:
HTML代码为LAYOUT:由html片段组成。
CSS代码:为CSS样式文件。
S12、定义所述配置文件以配置所述HTML代码、所述CSS代码及所述业务代码的路径;例如:一个模块是通过基于AMD代码规范的一个JS文件来定义,模块的内容主要有配置文件(基于AMD的JS代码)、html代码、css代码、业务代码(基于AMD的JS代码)四部分构成。
S13、初始化所述业务代码。即通过init方法实现模块的初始化。
S2、编译所述配置文件以获得模块运行时所指向的文件;步骤S2包括步骤S21-S22:
S21、通过requireJS提供的插件进行模块化编译,从而依据所述配置文件生成编译文件;具体的,本方案中所应用的文件编译是基于nodejs运行环境,通过requireJS提供的r.js插件进行模块化编译;通过编译可以将本模块使用到的资源文件进行合并和代码的混淆,以增强运行效率和代码安全性。
S22、依据所述编译文件获得模块运行时所指向的文件。其中:
编译文件为FUN-BUILD.JS:模块编译的配置文件,主要定义模块所涉及文件的目录以及压缩规则。
JS-PAGE为模块运行时指向的文件。
S3、加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用。步骤S3包括步骤S31-S36:
S31、加载所述配置文件;
S32、加载并解析所述配置文件引用的HTML代码;
S33、加载所述配置文件引用的CSS代码以替换页面多语言文件;
S34、加载所述配置文件引用的业务代码;
S35、依据所加载的所述HTML代码、所述CSS代码及所述业务代码进行UI元素权限解析;例如:根据模块的定义规则,提供了一套完整的针对模块定义的解析方法,主要包括html解析,多语言引用解析,业务代码执行,自定义插件接入的解析,页面控件权限控制。
S36、构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用。其中,加载并执行预设的jsx文件以兼容react,从而通过所述react构建所述前端UI框架。即本方案所构建的UI框架可以将单个的功能模块进行独立展示,同时也可以被其他功能进行调用。
此外,本发明还提供一种模块化的前端框架构建装置(即存储介质),其中存储有多条指令,所述指令适于由处理器加载并执行,从而实现上述方法。
如此,本发明可以获得以下直接或间接的效果:
1、解决了单页面的Web应用系统实现模块化开发的问题;
2、解决单页面Web应用系统的功能模块无法独立运行的问题。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (10)

1.一种模块化的前端框架构建方法,其特征在于,包括:
定义模块内容,所述模块内容包括配置文件、HTML代码、CSS代码及业务代码;
编译所述配置文件以获得模块运行时所指向的文件;
加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用。
2.根据权利要求1所述的前端框架构建方法,其特征在于,所述定义模块内容,包括:
将所述配置文件引用所述HTML代码、所述CSS代码及所述业务代码;
定义所述配置文件以配置所述HTML代码、所述CSS代码及所述业务代码的路径;
初始化所述业务代码。
3.根据权利要求1所述的前端框架构建方法,其特征在于,所述编译所述配置文件以获得模块运行时所指向的文件,包括:
通过requireJS提供的插件进行模块化编译,从而依据所述配置文件生成编译文件;
依据所述编译文件获得模块运行时所指向的文件。
4.根据权利要求2所述的前端框架构建方法,其特征在于,所述加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用,包括:
加载所述配置文件;
加载并解析所述配置文件引用的HTML代码;
加载所述配置文件引用的CSS代码以替换页面多语言文件;
加载所述配置文件引用的业务代码;
依据所加载的所述HTML代码、所述CSS代码及所述业务代码进行UI元素权限解析;
构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用。
5.根据权利要求4所述的前端框架构建方法,其特征在于,所述构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用,包括:
加载并执行预设的jsx文件以兼容react,从而通过所述react构建所述前端UI框架。
6.一种模块化的前端框架构建装置,其中存储有多条指令,所述指令适于由处理器加载并执行,其特征在于,包括:
定义模块内容,所述模块内容包括配置文件、HTML代码、CSS代码及业务代码;
编译所述配置文件以获得模块运行时所指向的文件;
加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用。
7.根据权利要求6所述的前端框架构建装置,其特征在于,所述定义模块内容,包括:
将所述配置文件引用所述HTML代码、所述CSS代码及所述业务代码;
定义所述配置文件以配置所述HTML代码、所述CSS代码及所述业务代码的路径;
初始化所述业务代码。
8.根据权利要求6所述的前端框架构建装置,其特征在于,所述编译所述配置文件以获得模块运行时所指向的文件,包括:
通过requireJS提供的插件进行模块化编译,从而依据所述配置文件生成编译文件;
依据所述编译文件获得模块运行时所指向的文件。
9.根据权利要求7所述的前端框架构建装置,其特征在于,所述加载所述配置文件、解析所述HTML代码、加载所述CSS代码、并执行所述业务代码以形成前端UI框架,从而使所述前端UI框架独立展示或被调用,包括:
加载所述配置文件;
加载并解析所述配置文件引用的HTML代码;
加载所述配置文件引用的CSS代码以替换页面多语言文件;
加载所述配置文件引用的业务代码;
依据所加载的所述HTML代码、所述CSS代码及所述业务代码进行UI元素权限解析;
构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用。
10.根据权利要求9所述的前端框架构建装置,其特征在于,所述构建所述前端UI框架,从而使所述前端UI框架独立展示或被调用,包括:
加载并执行预设的jsx文件以兼容react,从而通过所述react构建所述前端UI框架。
CN201811629976.XA 2018-12-28 2018-12-28 一种模块化的前端框架构建方法及装置 Pending CN109766503A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811629976.XA CN109766503A (zh) 2018-12-28 2018-12-28 一种模块化的前端框架构建方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811629976.XA CN109766503A (zh) 2018-12-28 2018-12-28 一种模块化的前端框架构建方法及装置

Publications (1)

Publication Number Publication Date
CN109766503A true CN109766503A (zh) 2019-05-17

Family

ID=66452397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811629976.XA Pending CN109766503A (zh) 2018-12-28 2018-12-28 一种模块化的前端框架构建方法及装置

Country Status (1)

Country Link
CN (1) CN109766503A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704101A (zh) * 2019-09-06 2020-01-17 平安普惠企业管理有限公司 代码文件构建方法、装置、设备及计算机可读存储介质
CN111949260A (zh) * 2020-06-24 2020-11-17 武汉烽火众智数字技术有限责任公司 一种移动端业务配置化方法及系统
CN112083966A (zh) * 2020-08-14 2020-12-15 杭州当虹科技股份有限公司 一种加载远程vue组件的方法
CN112162747A (zh) * 2020-09-25 2021-01-01 同程网络科技股份有限公司 一种前端页面组件化的方法、装置及计算机可读存储介质
CN113805871A (zh) * 2021-09-26 2021-12-17 平安国际智慧城市科技股份有限公司 前端代码的生成方法、装置及计算机设备
CN114610409A (zh) * 2022-03-14 2022-06-10 中原银行股份有限公司 基于Webpack的调用系统、方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064685A (zh) * 2012-12-27 2013-04-24 北京思特奇信息技术股份有限公司 一种模块化配置网页页面的方法及装置
CN106020823A (zh) * 2016-05-19 2016-10-12 浪潮电子信息产业股份有限公司 一种前端Web表现与数据分离以及页面快速响应的方式
CN107194005A (zh) * 2017-06-19 2017-09-22 福建中金在线信息科技有限公司 一种web前端页面及其生成方法、页面加载方法和装置
CN107273528A (zh) * 2017-06-28 2017-10-20 努比亚技术有限公司 一种前后端分离方法、移动终端以及计算机可读存储介质
CN107766046A (zh) * 2017-10-20 2018-03-06 江苏电力信息技术有限公司 一种基于移动框架的模块化构建方法
CN108874389A (zh) * 2018-06-27 2018-11-23 中国建设银行股份有限公司 前端页面开发框架

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064685A (zh) * 2012-12-27 2013-04-24 北京思特奇信息技术股份有限公司 一种模块化配置网页页面的方法及装置
CN106020823A (zh) * 2016-05-19 2016-10-12 浪潮电子信息产业股份有限公司 一种前端Web表现与数据分离以及页面快速响应的方式
CN107194005A (zh) * 2017-06-19 2017-09-22 福建中金在线信息科技有限公司 一种web前端页面及其生成方法、页面加载方法和装置
CN107273528A (zh) * 2017-06-28 2017-10-20 努比亚技术有限公司 一种前后端分离方法、移动终端以及计算机可读存储介质
CN107766046A (zh) * 2017-10-20 2018-03-06 江苏电力信息技术有限公司 一种基于移动框架的模块化构建方法
CN108874389A (zh) * 2018-06-27 2018-11-23 中国建设银行股份有限公司 前端页面开发框架

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨帆: "WEB前端工程化方案浅析", 《福建电脑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704101A (zh) * 2019-09-06 2020-01-17 平安普惠企业管理有限公司 代码文件构建方法、装置、设备及计算机可读存储介质
CN111949260A (zh) * 2020-06-24 2020-11-17 武汉烽火众智数字技术有限责任公司 一种移动端业务配置化方法及系统
CN112083966A (zh) * 2020-08-14 2020-12-15 杭州当虹科技股份有限公司 一种加载远程vue组件的方法
CN112083966B (zh) * 2020-08-14 2024-02-27 杭州当虹科技股份有限公司 一种加载远程vue组件的方法
CN112162747A (zh) * 2020-09-25 2021-01-01 同程网络科技股份有限公司 一种前端页面组件化的方法、装置及计算机可读存储介质
CN113805871A (zh) * 2021-09-26 2021-12-17 平安国际智慧城市科技股份有限公司 前端代码的生成方法、装置及计算机设备
CN113805871B (zh) * 2021-09-26 2023-08-15 平安国际智慧城市科技股份有限公司 前端代码的生成方法、装置及计算机设备
CN114610409A (zh) * 2022-03-14 2022-06-10 中原银行股份有限公司 基于Webpack的调用系统、方法及电子设备

Similar Documents

Publication Publication Date Title
CN109766503A (zh) 一种模块化的前端框架构建方法及装置
US10325012B2 (en) Filtered stylesheets
US9201631B2 (en) Method and system for providing content
US10061575B2 (en) Managed execution environment for software application interfacing
US20170286073A1 (en) Apparatus for providing framework to develop client application executed on multiple platforms, and method using the same
CN103179166A (zh) 在客户端中提供服务的方法和客户端
CN110727429B (zh) 一种前端页面的生成方法、装置及设备
US20160012147A1 (en) Asynchronous Initialization of Document Object Model (DOM) Modules
JP2016520932A (ja) マルチディスプレイシステム
US20160012144A1 (en) Javascript-based, client-side template driver system
CN104317573A (zh) 安卓安装包转换方法和装置以及运行应用的方法和装置
CN107704499A (zh) 一种应用程序的页面跳转控制方法及装置
US20090265716A1 (en) System and method for feature addition to an application
US20220334853A1 (en) System and method for accelerating modernization of user interfaces in a computing environment
CN114297549A (zh) 组件处理方法及装置
KR101907660B1 (ko) 웹 기반의 운영체제를 탑재한 단말 장치 및 이를 이용한 서비스 제공 방법
CN112631563A (zh) 基于框架的系统开发方法、装置、计算机设备及存储介质
CN113094138A (zh) 界面显示方法、装置、电子设备及存储介质
CN112287255A (zh) 页面构建方法及装置、计算设备、计算机可读存储介质
US9916391B2 (en) Method, apparatus and terminal for webpage content browsing
US20150378688A1 (en) Developing rich internet application
US8943476B2 (en) System and method to in-line script dependencies
CN111736833A (zh) 弹窗组件的生成方法、系统、电子设备和存储介质
Kao et al. Designing an XML-based context-aware transformation framework for mobile execution environments using CC/PP and XSLT
CN112988136B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190517

RJ01 Rejection of invention patent application after publication