CN107066309A - 多项目模板共享方法、系统、计算机程序及电子设备 - Google Patents
多项目模板共享方法、系统、计算机程序及电子设备 Download PDFInfo
- Publication number
- CN107066309A CN107066309A CN201710312468.8A CN201710312468A CN107066309A CN 107066309 A CN107066309 A CN 107066309A CN 201710312468 A CN201710312468 A CN 201710312468A CN 107066309 A CN107066309 A CN 107066309A
- Authority
- CN
- China
- Prior art keywords
- precompile
- project
- data
- template
- shared
- 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
Links
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种多项目模板共享方法、系统、计算机程序及电子设备,方法包括:对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;将项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。本发明对共享模板进行预编译,得到共享预编译数据,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,并用以覆盖相同的共享预编译数据,从而在发生文件变更时不用修改模板的引用,解决路径引用导致的各种隐患和问题。
Description
技术领域
本发明涉及编译开发相关技术领域,特别是一种多项目模板共享方法、系统、计算机程序及电子设备。
背景技术
现有的Web开发,随着Node.js的出现,前端技术及解决方案出现了飞跃式发展,全栈开发已成为可能,也就是前端和后端都采用JavaScript脚本开发。在Web开发过程中,多数引用模板引擎以提高开发速度。模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以采用特定格式的文档作为模板,然后在预编译时将模板生成一个标准的HTML文档。模板引擎例如ejs、jade(pug)、handlebars.js、CoffeeKup、doT.js等。
然而,现有的模板引擎,只满足一个路径一层文件夹目录的模板和片段支持。在实际开发中并不会把所有的文件模板都放在一层文件夹中,需要根据实际情况分层分多层文件夹来开发。而如果采用分多层文件夹,为了增加代码复用性,需要设置共享项目文件夹,例如common共享项目文件夹,里面包括了公共数据模板、公共全局配置、项目启动、核心组件等。
然而,这样的布局,由于common共享项目会影响所有业务子项目,因此common共享项目是不能随意修改的,这就导致业务子项目无法根据实际需要覆盖common共享项目中的数据模块来更改布局。
发明内容
基于此,有必要针对现有Web开发在使用模板引擎时,业务子项目无法根据实际需要覆盖共享项目中的数据模块的技术问题,提供一种多项目模板共享方法、系统、计算机程序及电子设备。
本发明提供一种多项目模板共享方法,包括:
对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
进一步的,所述使用项目预编译数据覆盖相同标识的共享预编译数据,具体包括:
使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
进一步的,所述共享模板或项目模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中。
进一步的,所述共享模板或所述项目模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据。
更进一步的,所述对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,具体包括:
从模板配置文件中获取包括至少一个路径目录的路径数组,所述路径目录为所述分支项目中除共享目录以外的其他目录,递归预编译所述路径数据中的每个路径目录下的项目模板,得到项目预编译数据。
本发明提供一种多项目模板共享系统,包括:
共享预编译模块,用于:对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
项目预编译模块,用于:对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
更新模块,用于:将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
进一步的,所述使用项目预编译数据覆盖相同标识的共享预编译数据,具体包括:
使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
进一步的,所述共享模板或项目模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中。
进一步的,所述共享模板或所述项目模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据。
更进一步的,所述对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,具体包括:
从模板配置文件中获取包括至少一个路径目录的路径数组,所述路径目录为所述分支项目中除共享目录以外的其他目录,递归预编译所述路径数据中的每个路径目录下的项目模板,得到项目预编译数据。
本发明提供一种计算机程序,包括在计算机上运行时,适合执行如前所述的多项目模板共享方法的所有步骤的计算机代码。
进一步的,所述计算机程序收录在计算机可读媒介上。
本发明提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
进一步的,所述使用项目预编译数据覆盖相同标识的共享预编译数据,具体包括:
使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
进一步的,所述共享模板或项目模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中。
进一步的,所述共享模板或所述项目模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据。
更进一步的,所述对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,具体包括:
从模板配置文件中获取包括至少一个路径目录的路径数组,所述路径目录为所述分支项目中除共享目录以外的其他目录,递归预编译所述路径数据中的每个路径目录下的项目模板,得到项目预编译数据。
本发明对共享模板进行预编译,得到共享预编译数据,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,并用以覆盖相同的共享预编译数据,从而在发生文件变更时不用修改模板的引用,解决了路径引用导致的各种隐患和问题。
附图说明
图1为本发明一实施例提供的一种多项目模板共享方法的工作流程图;
图2为本发明最佳实施例的工作流程图;
图3为本发明最佳实施例的模板结构示意图;
图4为本发明另一实施例提供的一种多项目模板共享方法的工作流程图;
图5为本发明一实施例提供的一种多项目模板共享系统的系统模块图;
图6为本发明第六实施例提供的执行多项目模板共享方法的一种电子设备的硬件结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
实施例一
如图1所示为本发明一实施例提供的一种多项目模板共享方法的工作流程图,包括:
步骤S101,对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
步骤S102,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
步骤S103,将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
具体来说,共享分支项目可以使用git submodule管理,并将共享分支项目作为开发目录的项目的一个共享目录,编译时执行步骤S101先预编译共享目录的模板路径,得到共享预编译数据,再执行步骤S102预编译分支项目的模板路径,得到项目预编译数据;然后执行步骤S103,使用项目预编译数据覆盖共享预编译数据,最终将预编译结果缓存在内存中,提升了页面的访问速度。
如图2和图3所示,在本发明最佳实施例中:
步骤S201,对共享目录下的common/a.dot、common/b.dot、common/a1.def、common/b1.def、x.dot模板文件进行预编译,得到相应的共享预编译数据;
步骤S202,对分支项目中除共享目录以外的其他目录下的common/c.dot、common/b.dot、common/a1.dot、y.dot模板文件进行预编译,得到相应的项目预编译数据;
步骤S203,由于common/c.dot、common/b.dot、common/a1.dot所对应的项目预编译数据与共享目录下的common/c.dot、common/b.dot、common/a1.dot的共享预编译数据具有相同标识,因此采用common/c.dot、common/b.dot、common/a1.dot所对应的项目预编译数据覆盖common/c.dot、common/b.dot、common/a1.dot所对应的共享预编译数据,最终在内存中保存common/c.dot、common/b.dot、common/a1.dot、common/b1.dot、x.dot、y.dot所对应的项目预编译数据;
步骤S204,当客户访问网站时,访问页面通过Def或include引用相应的共享预编译数据或者项目预编译数据。
本发明对共享模板进行预编译,得到共享预编译数据,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,并用以覆盖相同的共享预编译数据,从而在发生文件变更时不用修改模板的引用,解决了路径引用导致的各种隐患和问题。
实施例二
如图4所示为本发明另一实施例提供的一种多项目模板共享方法的工作流程图,包括:
步骤S401,对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
其中,所述共享模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述共享模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
步骤S402,从模板配置文件中获取包括至少一个路径目录的路径数组,所述路径目录为所述分支项目中除共享目录以外的其他目录,递归预编译所述路径数据中的每个路径目录下的项目模板,得到项目预编译数据;
其中,所述项目模板设有动态预编译入口;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中;
所述项目模板还设有扩展引用标识;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据;
步骤S403,将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
具体来说,只要在模板配置的时候传入一个路径数组。在内部编译先后递归指定路径下的目录及文件。
而扩展引用标识指的是_include方法扩展支持,具体来说,寻址方式对目录模板嵌入引用位置非常方便模板共享。一级目录模板支持直接访问例如{{#def.demo}},二级目录或以上可以使用_include方法读取模板例如{{#def._include(‘/common/header’)}}。
而动态预编译入口是在源代码提供重新预编译接口支持,第一次初始化后可以再次调用该接口在不影响项目正常运行的情况下动态预编译所有的模板。
本发明对共享模板进行预编译,得到共享预编译数据,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,并用以覆盖相同的共享预编译数据,从而在发生文件变更时不用修改模板的引用,解决了路径引用导致的各种隐患和问题。
同时,本实施例暴露了提供运行时动态预编译入口,可以在项目运行时执行预编译,不影响正常使用,Include模板引用的扩展支持文件细化分类存放,提供了识别和维护,另外还提供了路径数组,便于用户确定预编译的顺序。
实施例三
如图5所示为本发明一实施例提供的一种多项目模板共享系统的系统模块图,包括:
共享预编译模块501,用于:对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
项目预编译模块502,用于:对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
更新模块503,用于:将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
本发明对共享模板进行预编译,得到共享预编译数据,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,并用以覆盖相同的共享预编译数据,从而在发生文件变更时不用修改模板的引用,解决了路径引用导致的各种隐患和问题。
实施例四
本发明可选实施例提供的一种多项目模板共享系统,包括:
共享预编译模块,用于:对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
其中,所述共享模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述共享模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
项目预编译模块,用于:对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
其中,所述项目模板设有动态预编译入口;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中;
所述项目模板还设有扩展引用标识;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据;
更新模块,用于:将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
具体来说,只要在模板配置的时候传入一个路径数组。在内部编译先后递归指定路径下的目录及文件。
本发明对共享模板进行预编译,得到共享预编译数据,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,并用以覆盖相同的共享预编译数据,从而在发生文件变更时不用修改模板的引用,解决了路径引用导致的各种隐患和问题。
同时,本实施例暴露了提供运行时动态预编译入口,可以在项目运行时执行预编译,不影响正常使用,Include模板引用的扩展支持文件细化分类存放,提供了识别和维护,另外还提供了路径数组,便于用户确定预编译的顺序。
本发明第五实施例提供一种计算机程序,包括在计算机上运行时,适合执行如前所述的多项目模板共享方法的所有步骤的计算机代码。
在其中一个实施例中,所述计算机程序收录在计算机可读媒介上。
如图6所示为本发明第六实施例提供的执行多项目模板共享方法的一种电子设备的硬件结构示意图,包括:
至少一个处理器601;以及,
与所述至少一个处理器601通信连接的存储器602;其中,
所述存储器602存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
图6中以一个处理器602为例。
本发明对共享模板进行预编译,得到共享预编译数据,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,并用以覆盖相同的共享预编译数据,从而在发生文件变更时不用修改模板的引用,解决了路径引用导致的各种隐患和问题。
实施例七
本发明第七实施例提供的执行多项目模板共享方法的一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
其中,所述共享模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述共享模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
从模板配置文件中获取包括至少一个路径目录的路径数组,所述路径目录为所述分支项目中除共享目录以外的其他目录,递归预编译所述路径数据中的每个路径目录下的项目模板,得到项目预编译数据;
其中,所述项目模板设有动态预编译入口;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中;
所述项目模板还设有扩展引用标识;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据;
将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
本发明对共享模板进行预编译,得到共享预编译数据,对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,并用以覆盖相同的共享预编译数据,从而在发生文件变更时不用修改模板的引用,解决了路径引用导致的各种隐患和问题。
同时,本实施例暴露了提供运行时动态预编译入口,可以在项目运行时执行预编译,不影响正常使用,Include模板引用的扩展支持文件细化分类存放,提供了识别和维护,另外还提供了路径数组,便于用户确定预编译的顺序。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (17)
1.一种多项目模板共享方法,其特征在于,包括:
对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
2.根据权利要求1所述的多项目模板共享方法,其特征在于,所述使用项目预编译数据覆盖相同标识的共享预编译数据,具体包括:
使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
3.根据权利要求1所述的多项目模板共享方法,其特征在于,所述共享模板或项目模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中。
4.根据权利要求1所述的多项目模板共享方法,其特征在于,所述共享模板或所述项目模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据。
5.根据权利要求1~4任一项所述的多项目模板共享方法,其特征在于,所述对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,具体包括:
从模板配置文件中获取包括至少一个路径目录的路径数组,所述路径目录为所述分支项目中除共享目录以外的其他目录,递归预编译所述路径数据中的每个路径目录下的项目模板,得到项目预编译数据。
6.一种多项目模板共享系统,其特征在于,包括:
共享预编译模块,用于:对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
项目预编译模块,用于:对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
更新模块,用于:将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
7.根据权利要求6所述的多项目模板共享系统,其特征在于,所述使用项目预编译数据覆盖相同标识的共享预编译数据,具体包括:
使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
8.根据权利要求6所述的多项目模板共享系统,其特征在于,所述共享模板或项目模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中。
9.根据权利要求6所述的多项目模板共享系统,其特征在于,所述共享模板或所述项目模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据。
10.根据权利要求6~9任一项所述的多项目模板共享系统,其特征在于,所述对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,具体包括:
从模板配置文件中获取包括至少一个路径目录的路径数组,所述路径目录为所述分支项目中除共享目录以外的其他目录,递归预编译所述路径数据中的每个路径目录下的项目模板,得到项目预编译数据。
11.一种计算机程序,其特征在于,包括在计算机上运行时,适合执行如权利要求1~5任一项所述的多项目模板共享方法的所有步骤的计算机代码。
12.根据权利要求11所述的计算机程序,其特征在于,所述计算机程序收录在计算机可读媒介上。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
对分支项目中的共享目录的共享模板进行预编译,得到共享预编译数据,并存放于缓存中,同一项目下的每个分支项目所包括的共享目录具有相同的模板;
对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据;
将所述项目预编译数据存放于缓存中,且使用项目预编译数据覆盖相同标识的共享预编译数据。
14.根据权利要求13所述的电子设备,其特征在于,所述使用项目预编译数据覆盖相同标识的共享预编译数据,具体包括:
使用项目预编译数据覆盖具有相同寻址标识的共享预编译数据。
15.根据权利要求13所述的电子设备,其特征在于,所述共享模板或项目模板设有动态预编译入口;
所述共享模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到共享预编译数据,并存放于缓存中;
所述项目模板的动态预编译入口,用于在程序运行时,对所述动态预编译入口所指定的动态模板进行预编译得到项目预编译数据,并存放于缓存中。
16.根据权利要求13所述的电子设备,其特征在于,所述共享模板或所述项目模板还设有扩展引用标识;
所述共享模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到共享预编译数据;
所述项目模板在进行预编译时,对所述扩展引用标识后的二级或以上目录中的扩展模板进行预编译,得到项目预编译数据。
17.根据权利要求13~16任一项所述的电子设备,其特征在于,所述对分支项目中除共享目录以外的其他目录的项目模板进行预编译,得到项目预编译数据,具体包括:
从模板配置文件中获取包括至少一个路径目录的路径数组,所述路径目录为所述分支项目中除共享目录以外的其他目录,递归预编译所述路径数据中的每个路径目录下的项目模板,得到项目预编译数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710312468.8A CN107066309A (zh) | 2017-05-05 | 2017-05-05 | 多项目模板共享方法、系统、计算机程序及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710312468.8A CN107066309A (zh) | 2017-05-05 | 2017-05-05 | 多项目模板共享方法、系统、计算机程序及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107066309A true CN107066309A (zh) | 2017-08-18 |
Family
ID=59597341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710312468.8A Pending CN107066309A (zh) | 2017-05-05 | 2017-05-05 | 多项目模板共享方法、系统、计算机程序及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107066309A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651147A (zh) * | 2020-05-31 | 2020-09-11 | 四川亨通网智科技有限公司 | 一种系统快速搭建组件 |
CN111752534A (zh) * | 2020-06-22 | 2020-10-09 | 北京百度网讯科技有限公司 | 多领域定制项目模板引擎、由其执行的方法、设备和介质 |
CN116610705A (zh) * | 2023-07-20 | 2023-08-18 | 金篆信科有限责任公司 | 分布式数据库预编译管理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037450B2 (en) * | 2007-08-29 | 2011-10-11 | Sap Ag | System and methods for tracing code generation in template engines |
US20130339841A1 (en) * | 2012-06-14 | 2013-12-19 | Open Text S.A. | Systems and methods of a script generation engine |
CN105005568A (zh) * | 2014-04-22 | 2015-10-28 | 中国银联股份有限公司 | 基于模板的web页面前端处理装置及方法 |
US20160012145A1 (en) * | 2014-07-10 | 2016-01-14 | MyMojo Corporation | Client-Side Template Engine and Method for Constructing a Nested DOM Module for a Website |
CN106371829A (zh) * | 2016-08-24 | 2017-02-01 | 北京邮电大学 | 基于模块化思想的模板框架设计方法及系统 |
-
2017
- 2017-05-05 CN CN201710312468.8A patent/CN107066309A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037450B2 (en) * | 2007-08-29 | 2011-10-11 | Sap Ag | System and methods for tracing code generation in template engines |
US20130339841A1 (en) * | 2012-06-14 | 2013-12-19 | Open Text S.A. | Systems and methods of a script generation engine |
CN105005568A (zh) * | 2014-04-22 | 2015-10-28 | 中国银联股份有限公司 | 基于模板的web页面前端处理装置及方法 |
US20160012145A1 (en) * | 2014-07-10 | 2016-01-14 | MyMojo Corporation | Client-Side Template Engine and Method for Constructing a Nested DOM Module for a Website |
CN106371829A (zh) * | 2016-08-24 | 2017-02-01 | 北京邮电大学 | 基于模块化思想的模板框架设计方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651147A (zh) * | 2020-05-31 | 2020-09-11 | 四川亨通网智科技有限公司 | 一种系统快速搭建组件 |
CN111752534A (zh) * | 2020-06-22 | 2020-10-09 | 北京百度网讯科技有限公司 | 多领域定制项目模板引擎、由其执行的方法、设备和介质 |
CN111752534B (zh) * | 2020-06-22 | 2024-01-12 | 北京百度网讯科技有限公司 | 多领域定制项目模板引擎、由其执行的方法、设备和介质 |
CN116610705A (zh) * | 2023-07-20 | 2023-08-18 | 金篆信科有限责任公司 | 分布式数据库预编译管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11088827B2 (en) | Location-based blockchain | |
CN106886375B (zh) | 存储数据的方法和装置 | |
CN107729383A (zh) | 一种索引库生成方法、数据验证方法、装置及平台 | |
JP5437557B2 (ja) | 検索処理方法及び検索システム | |
JP5841934B2 (ja) | 位置基盤データサービス装置及び方法 | |
CN104395884B (zh) | 用于网页应用程序和浏览器扩展的数据存储层级 | |
Middleton et al. | Water resources of South Africa, 2005 study (WR2005) | |
CN110019575A (zh) | 对地理地址进行标准化的方法和装置 | |
CN103069849A (zh) | 用于安全共享的个人地图层的方法和装置 | |
CN108304484A (zh) | 关键词匹配方法及装置、电子设备和可读存储介质 | |
CN107066309A (zh) | 多项目模板共享方法、系统、计算机程序及电子设备 | |
CN102262666A (zh) | 一种在电子地图上处理分类信息的系统 | |
CN106648569A (zh) | 目标序列化实现方法和装置 | |
CN109151824A (zh) | 一种基于5g架构的图书馆数据服务扩展系统及方法 | |
CN109408590A (zh) | 分布式数据库的扩容方法、装置、设备及存储介质 | |
CN109656886B (zh) | 基于键值对的文件系统实现方法、装置、设备和存储介质 | |
CN106375360A (zh) | 一种图数据更新方法、装置及系统 | |
CN102158533B (zh) | 基于QoS的分布式web服务选择方法 | |
CN107315833A (zh) | 基于应用程序的检索与下载的方法和装置 | |
CN108733374A (zh) | 应用程序首页开发方法及终端设备 | |
Gu et al. | Csbr: A compositional semantics-based service bundle recommendation approach for mashup development | |
CN108959609A (zh) | 店铺地址的更新方法及装置 | |
CN110020272A (zh) | 缓存方法、装置以及计算机存储介质 | |
CN104748757A (zh) | 一种导航电子地图数据更新方法及装置 | |
CN107784055A (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210903 |
|
AD01 | Patent right deemed abandoned |