CN110888645A - 一种转换为小程序的方法、装置和存储介质 - Google Patents

一种转换为小程序的方法、装置和存储介质 Download PDF

Info

Publication number
CN110888645A
CN110888645A CN201910966086.6A CN201910966086A CN110888645A CN 110888645 A CN110888645 A CN 110888645A CN 201910966086 A CN201910966086 A CN 201910966086A CN 110888645 A CN110888645 A CN 110888645A
Authority
CN
China
Prior art keywords
file
applet
readable
writable
converting
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
CN201910966086.6A
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.)
Beike Technology Co Ltd
Original Assignee
Beike Technology 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 Beike Technology Co Ltd filed Critical Beike Technology Co Ltd
Priority to CN201910966086.6A priority Critical patent/CN110888645A/zh
Publication of CN110888645A publication Critical patent/CN110888645A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source

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

本申请公开了一种转换为小程序的方法、装置和存储介质,具体为读取待处理web项目中的可读写文件,在可读写文件中搜索可以执行转换的可读写文件,将搜索到的可以执行转换的可读写文件转化为对应的小程序文件,将小程序文件写入与待处理web项目的第一目录结构对应的小程序的第二目录结构中。本申请实施例通过将web项目中的可以执行转换的可读写文件转化为对应的小程序文件,使得web页面的语言可以快速转化为小程序的语言,不需要重新对小程序进行开发,减少了重复开发需要消耗的成本,提升了开发效率。

Description

一种转换为小程序的方法、装置和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种转换为小程序的方法、装置和存储介质。
背景技术
小程序作为一种不需要下载即可使用的应用程序,因其简单方便且无需单独下载,直接依托于微信应用程序而被广泛使用。
小程序拥有单独的语法及编写方式,需要单独对其进行开发。不少开发人员将原有的web页面通过微信小程序特有的语言进行再次开发,复刻出一套功能、样式几乎一致的微信小程序。在这个过程中,需要花费大量的人力物力去实现已经实现过,只是语法和环境不同的功能,效率较低且耗费劳动力。
发明内容
本申请实施例提供了一种转换为小程序的方法,该方法通过将web页面的可读取文件一一转化为适用于小程序中的文件,克服了重新在小程序中开发与web页面一致的程序需要花费的成本,减少了重复开发消耗的成本。
该方法包括:
读取待处理web项目中的可读写文件;
在所述可读写文件中搜索可以执行转换的可读写文件;
将搜索到的所述可以执行转换的可读写文件转化为对应的小程序文件;
将所述小程序文件写入与所述待处理web项目的第一目录结构对应的小程序的第二目录结构中。
可选地,获取所述类HTML文件在所述待处理web页面中的第一结构表,并根据所述待第一结构表生成对应在小程序中的第二结构表;
读取所述类HTML文件中的DOM元素的标签名和属性,并在所述第二结构表中生成所述WXML文件的标签名和属性,并将所述第二结构表写入所述WXML文件。
可选地,将所述类CSS文件转换为基本CSS结构;
提取各个所述基本CSS结构之间的第一依赖关系;
将所述基本CSS结构之间的所述第一依赖关系转化为小程序中的第二依赖关系,并根据所述第二依赖关系生成所述WXSS文件。
可选地,对所述第一JavaScript文件进行解析,并获取所述第一JavaScript文件的第一生命周期函数,其中,所述生命周期函数用于表示页面数据从加载到关闭的过程中所经历的各个节点状态;
将所述第一生命周期函数转化为在所述小程序中对应的第二生命周期函数,并根据所述第二生命周期函数生成所述第二JavaScript文件。
可选地,解析所述第一JavaScript文件中的对象属性和对象方法,将所述第一JavaScript文件中的对象属性和对象方法转化为对应在所述小程序中的所述对象属性和对象方法,并写入所述第二JavaScript文件。
可选地,构建所述小程序的基本结构,依据所述可以执行转换的所述可读写文件在所述待处理web项目中的所述第一目录结构,在所述小程序的基本结构中构建与所述第一目录结构对应的所述第二目录结构,并将对应的所述小程序文件写入所述第二目录结构中。
可选地,检查是否存在没有执行转化操作的所述可以执行转换的可读写文件;
将所述没有执行转化操作的所述可以执行转换的可读写文件转化为对应的所述小程序文件。
在本发明的另一个实施例中,提供了一种转换为小程序的装置,该装置包括:
读取模块,用于读取待处理web项目中的可读写文件;
搜索模块,用于在所述可读写文件中搜索可以执行转换的可读写文件;
转化模块,用于将搜索到的所述可以执行转换的可读写文件转化为对应的小程序文件;
写入模块,用于将所述小程序文件写入与所述待处理web项目的第一目录结构对应的小程序的第二目录结构中。
在本发明的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述一种转换为小程序的方法中的各个步骤。
在本发明的另一个实施例中,提供了一种终端设备,包括处理器,所述处理器用于执行上述一种转换为小程序的方法中的各个步骤。
如上可见,基于上述实施例,首先读取待处理web项目中的可读写文件,其次,在可读写文件中搜索可以执行转换的可读写文件,然后,将搜索到的可以执行转换的可读写文件转化为对应的小程序文件,最后,将小程序文件写入与待处理web项目的第一目录结构对应的小程序的第二目录结构中。本申请实施例通过对web项目中的可读取文件的语言进行开发,读取web项目的文件目录,将其中可以执行转换的可读写文件转化为在小程序中适用的小程序文件。使得web页面的语言可以快速转化为小程序的语言,不需要重新对小程序进行开发,减少了重复开发需要消耗的成本,提升了开发效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例10所提供的一种转换为小程序的方法的流程示意图;
图2示出了本申请实施例20提供的一种转换为小程序的方法的具体流程的示意图;
图3示出了本申请实施例30还提供一种转换为小程序的装置的示意图;
图4示出了本申请实施例40提供的一种将可以执行转换的可读写文件转换为小程序的示意图;
图5示出了本申请实施例50所提供的一种终端设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。以下具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。基于现有技术中的问题,本申请实施例提供了一种转换为小程序的方法,通过在待处理web项目中对可读取文件的语言进行开发,读取原有web项目的文件目录,对超文本标记语言(Hyper Text MarkupLanguage,HTML)类型文件、层叠样式表语言(Cascading Style Sheets,CSS)类型文件、JavaScript(.js)类型的文件,上述文件类型统称为类HTML+CSS+JavaScript文件。在上述文件中提取关键信息和依赖目录,生成结构信息表,并比对小程序中适用的语言,将上述文件一一进行转换,构建小程序的项目结构。本文以微信小程序为例,主要构建适用于微信的小程序文件,生成微信小程序所适用的标记语言(WeiXin Marked Language,WXML)、微信样式表(WeiXin Style Sheet,WXSS)、WXS、JS等相关文件。通过上述一键化将原有web项目代码转换成为微信小程序代码,提升开发效率。
本申请的应用领域主要是在计算机技术领域中,涉及web前端开发领域,是一种可以将现有HTML+CSS+JavaScript文件类型编写的项目代码,转换成小程序代码的方法。如图1所示,为本申请实施例10所提供的一种转换为小程序的方法的流程示意图。其中,详细步骤如下:
S11,读取待处理web项目中的可读写文件。
本步骤中,待处理web项目主要是指需要转化为小程序的web页面。Web页面主要是使用各种可读写的脚本语言编写的动态网页源文件,即服务器端脚本。在待处理web项目中获取可以编译和解释的可读写文件,这些可读写文件按照web项目的文件目录的层级结构进行存储。
S12,在可读写文件中搜索可以执行转换的可读写文件。
本步骤中,在可读写文件中搜索特定类型的文件,特定类型的文件一般为在待处理web项目中可以执行转化的可读写文件。如web页面中的类HTML文件、类CSS文件和JavaScript文件。其中,类HTML包括<.html>、<.vue>页面元素部分、<.jsx>页面元素部分等,类CSS文件包括<.css>、<.sass/.scss>、<.less>、<.stylus>等,JavaScript文件主要是指javascript<.js>类型的文件。
S13,将搜索到的可以执行转换的可读写文件转化为对应的小程序文件。
本步骤中,在上述搜索到的可以执行转化的可读写文件如类HTML文件、类CSS文件或第一JavaScript文件中提取关键信息和文件引用关系目录,分别转化为对应在小程序中的小程序文件,如分别与类HTML文件、类CSS文件或第一JavaScript文件对应的WXML文件、WXSS文件或第二JavaScript文件。
其中,类HTML文件包括一些定义页面内容和格式的符号,可以将文本、图像、声音和动画接在一个网页文档汇中,并在web浏览器中显示。而与类HTML文件对应的,WXML文件是微信小程序中的框架设计的一套标签语言,结合基础组件和事件***构建出页面机构。
类CSS文件主要用于表现类HTML文件的文件样式,起到修饰web网页和美观的效果。对应的,在小程序中,WXSS文件与类CSS文件的作用相同,WXSS文件在类CSS文件上进行了调整,以更适应微信小程序的表现形式。其中,WXSS文件的特性有尺寸单位和样式导入。
进一步地,JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。第一JavaScript文件为待处理web项目中可以执行转换的可读写文件中的JavaScript文件,一般用于为HTML文件增加动态功能,对应的,第二JavaScript文件为在小程序中的JavaScript文件,主要适用于客户端的脚本文件。
S14,将小程序文件写入与待处理web项目的第一目录结构对应的小程序的第二目录结构中。
本步骤中,在生成了适用于小程序的小程序文件后,如生成WXML文件、WXSS文件或第二JavaScript文件后,构建小程序的项目基本结构。进一步地,根据待处理web项目中的第一目录结构构建对应在小程序中的第二目录结构,并将对应生成的小程序文件,如WXML文件、WXSS文件或第二JavaScript文件写入相应的第二目录结构中。其中,第一目录结构和第二目录结构一般用于存放各类文件。
基于本申请的上述实施例,首先读取待处理web项目中的可读写文件,其次,在可读写文件中搜索可以执行转换的可读写文件,然后,将搜索到的可以执行转换的可读写文件转化为对应的小程序文件,最后,将小程序文件写入与待处理web项目的第一目录结构对应的小程序的第二目录结构中。本申请实施例通过对web项目中的可读取文件的语言进行开发,读取web项目的文件目录,将其中可以执行转换的可读写文件转化为在小程序中适用的小程序文件。使得web页面的语言可以快速转化为小程序的语言,不需要重新对小程序进行开发,减少了重复开发需要消耗的成本,提升了开发效率。
如图2所示,为本申请实施例20中提供的一种转换为小程序的方法的具体流程的示意图。其中,该具体流程的详细过程如下:
S201,读取待处理web项目中的可读写文件。
这里,可以通过获取绝对路径,用传统读取文件的方式读取可读写文件,或者,用get Servlet Context()方法来读取。另外,还可以通过类装载的方式读取可读写文件。
S202,在可读写文件中搜索类HTML文件,并将类HTML文件转化为WXML文件。
这里,获取类HTML文件在待处理web项目中的第一结构表,并根据第一结构表生成对应在微信小程序中的第二结构表。其中,第一结构表和第二结构表一般为类HTML文件中各种数据文件之间的存储引用关系。进一步地,读取类HTML文件中的DOM元素的标签名和属性,并在第二结构表中生成WXML文件的标签名和属性,并将第二结构表写入所述WXML文件。可选地,HTML文件和WXML文件中部分标签名和属性并不相同,WXML文件中主要使用形如<img/>的html的标签名,以及<img src=”./image.jpg”/>中src这样的属性名。如图4中的实施例40所示,将待处理web项目中的类HTML文件41中的DOM元素的标签名和属性转化为微信小程序中的WXML文件42的标签名和属性。
另外,编写公用的WXS文件,包含内容为WXML文件中不支持的JavaScript方法。例如:String.replace()、Array.indexOf()等。将WXML文件中不支持的调用方法名替换称为WXS下的调用方法名,并写入WXML文件。
S203,在可读写文件中搜索类CSS文件,并将类CSS文件转化为WXSS文件。
这里,将类CSS文件转换为基本CSS结构,提取各个基本CSS结构之间的第一依赖关系。进一步地,将基本CSS结构之间的第一依赖关系转化为小程序中的第二依赖关系,并根据第二依赖关系生成WXSS文件。其中,基本CSS结构为CSS基础样式。小程序中需要的基本CSS结构为非嵌套式样式层叠表,且没有变量存在。如:
Figure BDA0002230518100000061
而在通常的待处理web项目中会运用css预处理,举例说明,预处理的less/sass结构一般表现为嵌套式,如下
Figure BDA0002230518100000062
其中
Figure BDA0002230518100000063
即变量。
进一步地,第一依赖关系和第二依赖关系为CSS层叠样式表之间的引用关系,即CSS文件之间的文件引用关系。以stylus举例说明,如a.stylus引用了b.stylus的样式,换在小程序中即a.wxss引用b.wxss的样式。可选地,WXSS文件具有CSS文件大部分的特性,微信小程序在WXSS文件上做了一些扩充和修改,如新增了尺寸单位。WXSS文件在底层支持新的尺寸单位rpx,且提供了全局的样式和局部样式,且WXSS文件仅支持部分CSS选择器。
S204,在可读写文件中搜索第一JavaScript文件,并将第一JavaScript文件转化为第二JavaScript文件。
这里,对第一JavaScript文件进行解析,并获取第一JavaScript文件的第一生命周期函数,其中,生命周期函数用于表示页面数据从加载到关闭的过程中所经历的各个节点状态。将第一生命周期函数转化为在微信小程序中对应的第二生命周期函数,并根据第二生命周期生成第二JavaScript文件。解析第一JavaScript文件中的对象属性和对象方法,将第一JavaScript文件中的对象属性和对象方法转化为对应在微信小程序中的对象属性和对象方法,并写入第二JavaScript文件。可选地,将待处理web项目的第一生命周期函数转换成微信小程序中相应的同类第二生命周期函数。其中,生命周期函数包括从加载页面数据到关闭页面数据的整个过程中经历的每个状态节点,包含初始化、开始加载、加载完成、熄屏、亮屏、页面关闭等多个节点状态。第一生命周期函数和第二生命周期函数中的多个节点状态具有对应关系,如待处理web项目中的实例创建以及挂载过程对应于微信小程序中的页面加载过程,挂载完成对应于渲染完成,卸载对应于卸载等等。静态读取第一JavaScrip文件,查找第一生命周期函数的关键词如:componentWillMount(react)等或beforeCreated(vue)等,将关键词名称替换成对应的微信小程序中的第二生命周期函数的关键词,静态写入第二JavaScrip文件中。
进一步地,将待处理web项目中不能够在微信小程序中使用的对象名和对象方法替换成微信小程序可以使用的同类对象名以及对象方法,并生成第二JavaScript文件。即将window对象下的全局方法,如定位、跳转、回退等功能,替换成微信小程序语法中的定位、跳转、回退,再如页面滚动等监听方法,替换成微信小程序语法中的监听方法。
可选地,通过静态读取第一JavaScrip文件的具体内容,查找关键词,如window.location.href,读取后面的语句内容,记录下来,将window.location.href替换称为wx.navigateTo(),并将记录下来的内容按照wx.navigateTo()语法要求填写,将这一段替换内容静态写入第二JavaScrip文件中。如待处理web项目中的页面跳转,第一JavaScrip文件中的关键词window.location.href对应第二JavaScrip文件中的关键词wx.navigateTo();页面滚动,第一JavaScrip文件中的关键词window.addEventListener('scroll’,()=>{})对应第二JavaScrip文件中的关键词onPageScroll()等。
上述步骤S202、步骤S203和步骤S204可以按照逻辑顺序依次执行,或者没有先后执行顺序,可以同时执行,也可以分别执行。
S205,检查是否存在没有执行转化操作的可以执行转换的可读写文件。
这里,检查是否存在没有执行转化操作的如类HTML文件、类CSS文件或第一JavaScript文件等可以执行转换的可读写文件。将没有执行转化操作的类HTML文件、类CSS文件或第一JavaScript文件分别转化为对应的WXML文件、WXSS文件或第二JavaScript文件。可选地,搜索各个可读写文件的步骤可以没有先后的时间顺序。当搜索到其中一类并执行完相应的转化操作时,继续搜索其它类型的可读写文件,即重复执行上述步骤S202、步骤S203和步骤S204,直至全部类型的可读写文件均执行完成转化操作。
S206,将小程序文件写入与待处理web项目的第一目录结构对应的小程序的第二目录结构中。
本步骤中,以微信为例,构建微信小程序的基本结构,依据可以执行转换的可读写文件在待处理web项目中的第一目录结构,在微信小程序的基本结构中构建与第一目录结构对应的第二目录结构,并将对应的微信小程序文件写入第二目录结构中。其中,第一目录结构和第二目录结构为各个文件之间的存储引用层级关系。待处理web项目中的第一目录结构和微信小程序的第二目录结构中的文件夹个数、名称相同,但需要在第二目录结构中新增配置文件或修改文件夹名称,并将修改过后的文件,写入对应的第二目录结构中。可选地,转化后的微信小程序已经初始化并包含了一些简单的代码文件,如app.js、app.json、app.wxss。其中,.js后缀的是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件,微信小程序会读取这些文件,并生成微信小程序实例。
WXML文件用于配置当前app的常用配置,比如对所有页面进行注册,配置小程序的窗口和背景色,配置导航条样式,配置默认标题。第二JavaScript文件是微信小程序的脚本代码,可以监听并处理微信小程序的第二生命周期函数和声明全局变量,并且调用框架提供的丰富的API,如同步存储及同步读取本地数据。WXSS文件是整个小程序的公共样式表,可以在页面组件的class属性上直接使用WXSS文件中声明的样式规则。
本申请实施例基于上述步骤实现一种转换为小程序的方法。
基于同一发明构思,本申请实施例30还提供一种转换为小程序的装置,其中,如图3所示,该装置包括:
读取模块31,用于读取待处理web项目中的可读写文件;
搜索模块32,用于在可读写文件中搜索可以执行转换的可读写文件;
转化模块33,用于将搜索到的可以执行转换的可读写文件转化为对应的小程序文件;
写入模块34,用于将小程序文件写入与待处理web项目的第一目录结构对应的小程序的第二目录结构中。
本实施例中,读取模块31、搜索模块32、转化模块33和写入模块34的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
如图5所示,本申请的又一实施例50还提供一种终端设备,包括处理器50,其中,处理器60用于执行上述一种转换为小程序的方法的步骤。
从图5中还可以看出,上述实施例提供的终端设备还包括非瞬时计算机可读存储介质51,该非瞬时计算机可读存储介质51上存储有计算机程序,该计算机程序被处理器50运行时执行上述一种转换为小程序的方法的步骤。实际应用中,计算机可读介质可以是上述实施例中描述的设备/装置/***中所包含的,也可以是单独存在,而未装配入该设备/装置/***中。根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种转换为小程序的方法,其特征在于,包括:
读取待处理web项目中的可读写文件;
在所述可读写文件中搜索可以执行转换的可读写文件;
将搜索到的所述可以执行转换的可读写文件转化为对应的小程序文件;
将所述小程序文件写入与所述待处理web项目的第一目录结构对应的小程序的第二目录结构中。
2.根据权利要求1所述的方法,其特征在于,所述可以执行转换的可读写文件包括类HTML文件,所述小程序文件包括WXML文件,所述将搜索到的所述可以执行转换的可读写文件转化为对应的小程序文件的步骤包括:
获取所述类HTML文件在所述待处理web页面中的第一结构表,并根据所述待第一结构表生成对应在小程序中的第二结构表;
读取所述类HTML文件中的DOM元素的标签名和属性,并在所述第二结构表中生成所述WXML文件的标签名和属性,并将所述第二结构表写入所述WXML文件。
3.根据权利要求1所述的方法,其特征在于,所述可以执行转换的所述可读写文件包括类CSS文件,所述小程序文件包括WXSS文件,所述将搜索到的所述可以执行转换的可读写文件转化为对应的小程序文件的步骤还包括:
将所述类CSS文件转换为基本CSS结构;
提取各个所述基本CSS结构之间的第一依赖关系;
将所述基本CSS结构之间的所述第一依赖关系转化为小程序中的第二依赖关系,并根据所述第二依赖关系生成所述WXSS文件。
4.根据权利要求1所述的方法,其特征在于,所述可以执行转换的所述可读写文件包括第一JavaScript文件,所述将搜索到的所述可以执行转换的可读写文件转化为对应的小程序文件的步骤还包括:
对所述第一JavaScript文件进行解析,并获取所述第一JavaScript文件的第一生命周期函数,其中,所述生命周期函数用于表示页面数据从加载到关闭的过程中所经历的各个节点状态;
将所述第一生命周期函数转化为在所述小程序中对应的第二生命周期函数,并根据所述第二生命周期函数生成所述第二JavaScript文件。
5.根据权利要求4所述的方法,其特征在于,所述根据第二生命周期函数生成所述第二JavaScript文件的步骤之后,所述方法进一步包括:
解析所述第一JavaScript文件中的对象属性和对象方法,将所述第一JavaScript文件中的对象属性和对象方法转化为对应在所述小程序中的所述对象属性和对象方法,并写入所述第二JavaScript文件。
6.根据权利要求1所述的方法,其特征在于,所述将所述小程序文件写入与所述待处理web项目的第一目录结构对应的小程序的第二目录结构中的步骤包括:
构建所述小程序的基本结构,依据所述可以执行转换的可读写文件在所述待处理web项目中的所述第一目录结构,在所述小程序的基本结构中构建与所述第一目录结构对应的所述第二目录结构,并将对应的所述小程序文件写入所述第二目录结构中。
7.根据权利要求1所述的方法,其特征在于,所述将搜索到的所述可以执行转换的可读写文件转化为小程序文件的步骤和所述将所述小程序文件写入与所述待处理web项目的第一目录结构对应的小程序的第二目录结构中的步骤之间,所述方法进一步包括:
检查是否存在没有执行转化操作的所述可以执行转换的可读写文件;
将所述没有执行转化操作的所述可以执行转换的可读写文件转化为对应的所述小程序文件。
8.一种转换为小程序的装置,其特征在于,包括:
读取模块,用于读取待处理web项目中的可读写文件;
搜索模块,用于在所述可读写文件中搜索可以执行转换的可读写文件;
转化模块,用于将搜索到的所述可以执行转换的可读写文件转化为对应的小程序文件;
写入模块,用于将所述小程序文件写入与所述待处理web项目的第一目录结构对应的小程序的第二目录结构中。
9.一种非瞬时计算机可读存储介质,其特征在于,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如权利要求1至7任一项所述的一种转换为小程序的方法中的各个步骤。
10.一种终端设备,其特征在于,包括处理器,所述处理器用于执行如权利要求1至7中任一项所述的一种转换为小程序的方法中的各个步骤。
CN201910966086.6A 2019-10-12 2019-10-12 一种转换为小程序的方法、装置和存储介质 Pending CN110888645A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910966086.6A CN110888645A (zh) 2019-10-12 2019-10-12 一种转换为小程序的方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910966086.6A CN110888645A (zh) 2019-10-12 2019-10-12 一种转换为小程序的方法、装置和存储介质

Publications (1)

Publication Number Publication Date
CN110888645A true CN110888645A (zh) 2020-03-17

Family

ID=69746024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910966086.6A Pending CN110888645A (zh) 2019-10-12 2019-10-12 一种转换为小程序的方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN110888645A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796829A (zh) * 2020-05-19 2020-10-20 北京三快在线科技有限公司 小程序更新方法、装置、电子设备及计算机可读存储介质
CN113254405A (zh) * 2021-06-01 2021-08-13 京东科技控股股份有限公司 文件转换方法、装置、设备和介质
CN113590125A (zh) * 2021-08-17 2021-11-02 世纪龙信息网络有限责任公司 一种小程序开发方法及装置
CN114428657A (zh) * 2022-01-11 2022-05-03 上海万物新生环保科技集团有限公司 一种在H5端基于Taro框架的滑动方法与设备
WO2023087720A1 (zh) * 2021-11-16 2023-05-25 深圳前海微众银行股份有限公司 小程序生成方法、装置、设备及存储介质
CN116775005A (zh) * 2023-08-22 2023-09-19 浪潮软件股份有限公司 动态加载功能模块js与css的方法、装置及存储介质
CN117348948A (zh) * 2023-12-04 2024-01-05 南京掌控网络科技有限公司 一种在自有App上运行的小程序引擎

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645823B1 (en) * 2008-10-28 2014-02-04 Adobe Systems Incorporated Converting static websites to resolution independent websites in a web development environment
CN104536744A (zh) * 2014-12-19 2015-04-22 微梦创科网络科技(中国)有限公司 一种自动化构建与部署代码的方法及服务器
CN104991773A (zh) * 2015-06-30 2015-10-21 小米科技有限责任公司 程序生成方法及装置
CN106980504A (zh) * 2017-03-28 2017-07-25 腾讯科技(深圳)有限公司 一种应用程序开发方法及其工具、设备
CN107239318A (zh) * 2017-06-13 2017-10-10 腾讯科技(深圳)有限公司 应用转换方法、装置及设备
CN108268262A (zh) * 2017-12-27 2018-07-10 广东耐思尼克信息技术有限公司 实现将html转换为微信小程序的方法、装置及***
CN108664248A (zh) * 2018-05-14 2018-10-16 北京汉能光伏投资有限公司 一种微信小程序的生成方法及装置
CN109947433A (zh) * 2019-03-28 2019-06-28 优信拍(北京)信息科技有限公司 一种小程序的生成方法、更新方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645823B1 (en) * 2008-10-28 2014-02-04 Adobe Systems Incorporated Converting static websites to resolution independent websites in a web development environment
CN104536744A (zh) * 2014-12-19 2015-04-22 微梦创科网络科技(中国)有限公司 一种自动化构建与部署代码的方法及服务器
CN104991773A (zh) * 2015-06-30 2015-10-21 小米科技有限责任公司 程序生成方法及装置
CN106980504A (zh) * 2017-03-28 2017-07-25 腾讯科技(深圳)有限公司 一种应用程序开发方法及其工具、设备
CN107239318A (zh) * 2017-06-13 2017-10-10 腾讯科技(深圳)有限公司 应用转换方法、装置及设备
CN108268262A (zh) * 2017-12-27 2018-07-10 广东耐思尼克信息技术有限公司 实现将html转换为微信小程序的方法、装置及***
CN108664248A (zh) * 2018-05-14 2018-10-16 北京汉能光伏投资有限公司 一种微信小程序的生成方法及装置
CN109947433A (zh) * 2019-03-28 2019-06-28 优信拍(北京)信息科技有限公司 一种小程序的生成方法、更新方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄伟 等: "一种基于DOM树的HTML转换为XML的方法", pages 64 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796829A (zh) * 2020-05-19 2020-10-20 北京三快在线科技有限公司 小程序更新方法、装置、电子设备及计算机可读存储介质
CN111796829B (zh) * 2020-05-19 2024-06-07 北京三快在线科技有限公司 小程序更新方法、装置、电子设备及计算机可读存储介质
CN113254405A (zh) * 2021-06-01 2021-08-13 京东科技控股股份有限公司 文件转换方法、装置、设备和介质
CN113590125A (zh) * 2021-08-17 2021-11-02 世纪龙信息网络有限责任公司 一种小程序开发方法及装置
WO2023087720A1 (zh) * 2021-11-16 2023-05-25 深圳前海微众银行股份有限公司 小程序生成方法、装置、设备及存储介质
CN114428657A (zh) * 2022-01-11 2022-05-03 上海万物新生环保科技集团有限公司 一种在H5端基于Taro框架的滑动方法与设备
CN114428657B (zh) * 2022-01-11 2024-04-05 上海万物新生环保科技集团有限公司 一种在H5端基于Taro框架的滑动方法与设备
CN116775005A (zh) * 2023-08-22 2023-09-19 浪潮软件股份有限公司 动态加载功能模块js与css的方法、装置及存储介质
CN116775005B (zh) * 2023-08-22 2024-01-30 浪潮软件股份有限公司 动态加载功能模块js与css的方法、装置及存储介质
CN117348948A (zh) * 2023-12-04 2024-01-05 南京掌控网络科技有限公司 一种在自有App上运行的小程序引擎
CN117348948B (zh) * 2023-12-04 2024-03-22 南京掌控网络科技有限公司 一种在自有App上运行的小程序引擎

Similar Documents

Publication Publication Date Title
CN110888645A (zh) 一种转换为小程序的方法、装置和存储介质
Subramanian Pro Mern Stack: Full Stack Web App Development with Mongo, Express, React and Node
CN110580147B (zh) 一种应用程序的开发方法和装置
KR100661393B1 (ko) 웹 프로그래밍 환경을 응용한 웹사이트 관리 시스템 및방법
US9524279B2 (en) Help document animated visualization
Zakas High performance JavaScript: build faster web application interfaces
US10067856B2 (en) Employing code overlays to facilitate software development
CN103034486B (zh) 移动终端操作***基于全***扩展调用图的自动优化方法
US20140365994A1 (en) Automatic source code generation
CN110347390B (zh) 一种快速生成web页面的方法、存储介质、设备及***
CN111124481A (zh) 网页应用程序的安装包生成方法、装置、存储介质及设备
CN110020370B (zh) 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN113360385A (zh) 一种测试方法、装置、设备及介质
Jann Creating LaTeX documents from within Stata using texdoc
CN111736812A (zh) 文档代码执行方法、装置、计算机设备及存储介质
CN111142871A (zh) 一种前端页面开发***、方法、设备、介质
Urbieta et al. A web-based model-driven platform for web augmentation
Hilton et al. Play for Scala: Covers Play 2
CN113391806A (zh) 一种将颜色代码进行转换的方法、装置、设备和可读介质
CN113741900B (zh) 一种前端页面应用的开发方法、装置及相关设备
CN114579137B (zh) 一种页面渲染方法、装置、计算机设备和存储介质
CN116009863B (zh) 前端页面渲染方法、设备及存储介质
Jobsen Less Web Development Essentials
CN114168189A (zh) 一种Vue项目代码的翻译方法、设备及介质
CN116954574A (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