一种基于编程语言的路由构建自动化方法及电子设备与流程

文档序号:16854907发布日期:2019-02-12 23:09阅读:103来源:国知局
一种基于编程语言的路由构建自动化方法及电子设备与流程

本发明涉及计算机技术领域,尤其涉及一种基于编程语言的路由构建自动化方法及电子设备。



背景技术:

vue.js是一个构建数据驱动的web界面的渐进式框架。vue.js的目标是通过尽可能简单的api实现响应的数据绑定和组合的视图组件,它不仅易于上手,还便于与第三方库或既有项目整合。

现有的vue框架使用的模块化开发,每新增或者修改一个模块都需要重新修改路由的路径和引入路径,每次比对路径都会浪费开发时间。

同时,现有的vue打包过程中,如果路由文件发生变化,主文件也将发生变化,无法进行部分功能迭代。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种基于编程语言的路由构建自动化方法及电子设备,旨在解决现有技术中路径比对效率低、部分功能无法迭代等问题。

本发明的技术方案如下:

一种基于编程语言的路由构建自动化方法,其中,包括步骤:

a、开启文件夹监听,监听指定文件夹;

b、当监听到重命名事件时,获取指定文件夹中的所有文件,将各文件的文件路径映射为绝对路径;

c、遍历所有文件,过滤出所有扩展名为.vue的文件,生成文件集合arr-match,将文件集合中的文件路径转化为相对路径;

d、读取输出文件,判断输出文件与所述文件集合是否存在名称相同且文件路径不同的路由信息,若是则将相对路径替换绝对路径。

所述的基于编程语言的路由构建自动化方法,其中,所述步骤d具体包括:

d1、读取输出文件,转换输出文件的文件内容的格式;

d2、将文件内容中的路由字符串信息转换为数组arr-route;

d3、遍历文件集合arr-match和数组arr-route,判断是否存在名称相同且文件路径不同的路由信息。

所述的基于编程语言的路由构建自动化方法,其中,所述步骤d3之后还包括:

d4、若存在名称相同且文件路径不同的路由信息,则获取文件集合arr-match中对应文件的相对路径,并将所述相对路径替换指定文件夹中对应文件的文件路径。

所述的基于编程语言的路由构建自动化方法,其中,所述步骤d之后还包括:

在文件集合arr-match中对应文件的头部写入import函数,重新引入组件。

所述的基于编程语言的路由构建自动化方法,其中,所述步骤a中,调用node中fs.watch来监听指定文件夹。

所述的基于编程语言的路由构建自动化方法,其中,所述步骤d1中,将输出文件的文件内容从blob格式转化为uft-8格式。

所述的基于编程语言的路由构建自动化方法,其中,所述步骤a之前还包括:

预先设置需监控的指定文件夹。

一种电子设备,其中,包括:

处理器,适于实现各指令,以及

存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:

开启文件夹监听,监听指定文件夹;

当监听到重命名事件时,获取指定文件夹中的所有文件,将各文件的文件路径映射为绝对路径;

遍历所有文件,过滤出所有扩展名为.vue的文件,生成文件集合arr-match,将文件集合中的文件路径转化为相对路径;

读取输出文件,判断输出文件与所述文件集合是否存在名称相同且文件路径不同的路由信息,若是则将相对路径替换绝对路径。

一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于编程语言的路由构建自动化方法。

一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于编程语言的路由构建自动化方法。

有益效果:本发明通过监听文件改动,在新增或者修改文件后,在每次打包时会自动检测变化后打包,并在路径发生变化时,进行路径替换,从而在一定程度上完成部分功能迭代。

附图说明

图1为本发明一种基于编程语言的路由构建自动化方法较佳实施例的流程图。

图2为本发明一种电子设备较佳实施例的结构框图。

具体实施方式

本发明提供一种基于编程语言的路由构建自动化方法及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1为本发明一种基于编程语言的路由构建自动化方法较佳实施例的流程图,其包括步骤:

s1、开启文件夹监听,监听指定文件夹;

s2、当监听到重命名事件时,获取指定文件夹中的所有文件,将各文件的文件路径映射为绝对路径;

s3、遍历所有文件,过滤出所有扩展名为.vue的文件,生成文件集合arr-match,将文件集合中的文件路径转化为相对路径;

s4、读取输出文件,判断输出文件与所述文件集合是否存在名称相同且文件路径不同的路由信息,若是则将相对路径替换绝对路径。

本发明通过监听文件改动,在新增或者修改文件后,在每次打包时会自动检测变化后打包,并在路径发生变化时,进行路径替换,从而在一定程度上完成部分功能迭代。

在所述步骤s1中,开启文件夹监听,监听指定文件夹。

具体可调用node中fs.watch来监听指定文件夹。当然,在此步骤之前还需要设置指定文件夹。

fs.watch这个方法是通过监听操作系统提供的各种“事件”(内核发布的消息)实现的。

fs.watch方法实现方式如下:

fs.watch(filename,[options],[listener]);

监视文件或目录

//对文件或目录进行监视,并且在监视到修改时执行处理;

//fs.watch返回一个fs.fswatcher对象,拥有一个close方法,用于停止watch操作;

//当fs.watch有文件变化时,会触发fs.fswatcher对象的change(err,filename)事件,err错误对象,filename发生变化的文件名

/**

*filename,完整路径及文件名或目录名;

*[listener(event,filename],监听器事件,有两个参数:event为rename表示指定的文件或目录中有重命名、删除或移动操作或change表示有修改,filename表示发生变化的文件路径

*/

即,所述步骤s1之前还包括:

预先设置需监控的指定文件夹。也就是说,需要预先设置指定文件夹,这些指定文件夹是需要监控的。

在所述步骤s2中,当监听到重命名事件时,获取指定文件夹中的所有文件,将各文件的文件路径映射为绝对路径。

具体地,当监听到事件时,先判断监听到的事件是否为重命名事件,如果是则获取指定文件夹中的所有文件,并进行路径映射。

另外,在此步骤中,还可预先设置待检测的文件扩展名为.vue,后续步骤中可检测出扩展名为.vue的文件,并进行过滤。

另外,在此步骤中,还可设置读取指定文件夹,这样才可获取其中的所有文件。同时还设置输出文件,输出文件为.vue的路由文件。

在所述步骤s3中,遍历指定文件夹中的所有文件,过滤出所有扩展名为.vue的文件,生成文件集合arr-match。

扩展名为.vue的文件是一个自定义的文件类型,用类似html的语法描述一个vue组件。每个.vue文件包含三种类型的顶级语言块<template>,<script>和<style>。这三个部分分别代表了html,js,css。

关于template部分:

一个vue文件,其template则代表它的html结构。需要在template中放置一个html标签来包裹所有的代码。

关于script部分:

首先,需要两个自定义组件,先引用进来。举例如下:

importheaderfrom'../components/header.vue'

importfooterfrom'../components/footer.vue'

其次,除了引用的文件,将所有的代码包裹于如下的代码中间:

exportdefault{

//代码

}

具体可先引入header和footer这两个组件的源文件,接下来把引用的组件声明到components中。这样,就可以在template里面使用了。

关于style部分:

就是针对template里内容出现的html元素写一些样式。

另外,还将文件集合中的文件路径转化为相对路径。

在所述步骤s4中,读取输出文件,判断输出文件与所述文件集合arr-match是否存在名称相同且文件路径不同的路由信息,如果是的话,则需要将相对路径替换绝对路径。

进一步,所述步骤s4具体包括:

s41、读取输出文件,转换输出文件的文件内容的格式;

s42、将文件内容中的路由字符串信息转换为数组arr-route;

s43、遍历文件集合arr-match和数组arr-route,判断是否存在名称相同且文件路径不同的路由信息。

在所述步骤s41中,先转换输出文件的文件内容的格式。例如将文件内容从blob格式转换为uft-8格式。

输出文件就是路由文件router.js。router.js是一个机制,相当于一个管理者,它来管理路由。通过router.js可以到routes中去查找,去找到对应的home内容,所以页面中就显示了home内容。

blob(binarylargeobject),二进制大对象,是一个可以存储二进制文件的容器。

在计算机中,blob常常是数据库中用来存储二进制文件的字段类型。

blob是一个大文件,典型的blob是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。

uft-8(8-bitunicodetransformationformat)是一种针对unicode的可变长度字符编码,又称万国码。现在已经标准化为rfc3629。uft-8用1到6个字节编码unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言。utf-8编码规则:如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。

在所述步骤s42中,将文件内容中的路由字符串信息转换为数组arr-route,这样方便后续进行匹配。

在所述步骤s43中,遍历文件集合arr-match和数组arr-route中的每个文件,判断二者是否存在名称相同且文件路径不同的路由信息,如果是的话则需要进行替换处理。

也就是说,在所述步骤s43之后还包括:

s44、若存在名称相同且文件路径不同的路由信息,则获取文件集合arr-match中对应文件的相对路径,并将所述相对路径替换指定文件夹中对应文件的文件路径。

如果不存在名称相同且文件路径不同的路由信息,则无需更改,直接结束流程。

进一步,所述步骤s4之后还包括:

在文件集合arr-match中对应文件的头部写入import函数,重新引入组件。

依此类推,匹配完每个文件,从而完成路由的自动化构建。

在组件(或称模块)定义好后,可以使用import函数来引入组件,语法如下:

importmodule1[,module2[,...modulen]]

比如要引用模块math,就可以在文件最开始的地方(即头部)用importmath来引入。在调用math模块中的函数时,必须这样引用:

模块名.函数名

当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。

搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块support.py,需要把命令放在脚本的顶端。一个模块只会被导入一次,不管执行了多少次import函数,这样可以防止导入模块被一遍又一遍地执行。

本发明还提供一种电子设备10,如图2所示,其包括:

处理器110,适于实现各指令,以及

存储设备120,适于存储多条指令,所述指令适于由处理器110加载并执行:

开启文件夹监听,监听指定文件夹;

当监听到重命名事件时,获取指定文件夹中的所有文件,将各文件的文件路径映射为绝对路径;

遍历所有文件,过滤出所有扩展名为.vue的文件,生成文件集合arr-match,将文件集合中的文件路径转化为相对路径;

读取输出文件,判断输出文件与所述文件集合是否存在名称相同且文件路径不同的路由信息,若是则将相对路径替换绝对路径。

所述处理器110可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acornriscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、任何其它这种配置。

存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于编程语言的路由构建自动化方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行基于编程语言的路由构建自动化方法的各种功能应用以及数据处理,即实现上述方法实施例。

关于上述电子设备10的具体技术细节在前面的方法中已有详述,故不再赘述。

本发明还提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的基于编程语言的路由构建自动化方法。

本发明还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的基于编程语言的路由构建自动化方法。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1