CN116594599A - Vue项目文件扫描展示方法、装置、设备及其存储介质 - Google Patents

Vue项目文件扫描展示方法、装置、设备及其存储介质 Download PDF

Info

Publication number
CN116594599A
CN116594599A CN202310415203.6A CN202310415203A CN116594599A CN 116594599 A CN116594599 A CN 116594599A CN 202310415203 A CN202310415203 A CN 202310415203A CN 116594599 A CN116594599 A CN 116594599A
Authority
CN
China
Prior art keywords
file
command line
preset
vue
target front
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
CN202310415203.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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202310415203.6A priority Critical patent/CN116594599A/zh
Publication of CN116594599A publication Critical patent/CN116594599A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例属于数据处理技术领域,应用于Vue项目文件扫描领域中,涉及一种Vue项目文件扫描展示方法、装置、设备及其存储介质,包括基于目标前端项目webpack配置信息和预设的第一类正则表达式构建第二命令行;执行第二命令行,获取页面入口地址;根据入口地址和预设的第二类正则表达式,构建第三命令行;执行第三命令行,获取目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;进行界面展示。通过采用两次正则表达式的形式,进行Vue项目文件引用扫描,再通过数据标准化将未扫描到的文件展示到预设监测界面,便于开发人员根据展示结果,直观的进行文件删减,节约项目文件库的占用空间,避免积累越来越多的无用文件,保持代码仓库干净。

Description

Vue项目文件扫描展示方法、装置、设备及其存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种Vue项目文件扫描展示方法、装置、设备及其存储介质。
背景技术
在不断的需求迭代过程中,一个项目代码库很大可能会积累越来越多的无用文件,虽然通过打包工具输出的静态文件不会包含这些未使用到的文件,但是对于开发人员来说,容易会被同名、冗余的文件误导,比如改错同名文件,需要耗费时间去定位问题,影响开发效率,而且保持代码仓库干净也是很重要的开发习惯。
基于这个背景,且市面上无现成的插件可以实现将代码库中没有用到的文件扫描出来,因此结合vue项目的特点探索并设计实现一个扫描未被使用的文件的插件成为了一项亟需解决的问题。
发明内容
本申请实施例的目的在于提出一种Vue项目文件扫描展示方法、装置、设备及其存储介质,以解决现有技术无现成的插件可以实现将代码库中没有用到的文件扫描出来,导致后续开发需要耗费时间去定位未使用文件,影响开发效率的问题。
为了解决上述技术问题,本申请实施例提供一种Vue项目文件扫描展示方法,采用了如下所述的技术方案:
一种Vue项目文件扫描展示方法,包括下述步骤:
在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;
根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;
若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;
执行所述第二命令行,获取所述目标前端项目中页面的入口地址;
根据所述入口地址和预设的第二类正则表达式,构建第三命令行;
执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;
按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。
进一步的,在执行所述在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内的步骤之前,所述方法还包括:
根据预设的启动指令,启动所述目标前端项目;
所述第一命令行为vue inspect指令中的“-v”或“--verbose”命令,所述在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内的步骤,具体包括:
获取执行所述“-v”或“--verbose”命令后对应的返回数据;
将所述返回数据作为所述第一展示数据映射在所述可操作展示界面内。
进一步的,所述根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目的步骤,具体包括:
根据预设的输出参照文本,识别所述第一展示数据中是否存在目标字段;
若不存在目标字段,则所述目标前端项目不是Vue-cli项目;
若存在目标字段,则所述目标前端项目是Vue-cli项目。
进一步的,在执行所述基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行的步骤之前,所述方法还包括:
根据所述第一类正则表达式,对所述webpack配置信息进行匹配整理,获取第一匹配结果,其中,所述第一类正则表达式包括:用于匹配数组类型的入口字段的第一正则表达式和用于匹配对象类型的入口字段的第二正则表达式;
根据所述第一匹配结果,获取所述目标前端项目的入口字段,并识别所述入口字段的类型,其中,所述入口字段的类型包括数组类型和对象类型;
所述基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行的步骤,具体包括:
若所述目标前端项目的入口字段的类型为对象类型,则获取所述第一匹配结果加入到预设的命令行待插入位置处,完成第二命令行的构建;
若所述目标前端项目的入口字段的类型为数组类型,则依次获取所述入口字段内的元素,并将当前获得的元素加入到预设的命令行待插入位置处,完成一条第二命令行的构建,获取所述入口字段内所有元素对应的第二命令行。
进一步的,所述根据所述入口地址和预设的第二类正则表达式,构建第三命令行的步骤,具体包括:
根据所述第二类正则表达式,对所述入口地址进行匹配整理,获取第二匹配结果,其中,所述第二类正则表达式包括用于递归获取Vue项目引用文件的四种不同的正则表达式;
根据所述第二匹配结果,识别各所述入口地址分别对应的正则表达式,作为目标表达式;
根据各所述入口地址和各所述入口地址分别对应的目标表达式,一一构建进行各所述入口地址对应的第三命令行。
进一步的,所述执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件的步骤,具体包括:
根据所述第三命令行的执行返回结果,分析所述目标前端项目的资源文件的打包路径;
根据所述打包路径递归获取所述打包路径下被动态引用的文件和未被动态引用的文件;
采用区别输出接口对所述被动态引用的文件和未被动态引用的文件进行区别输出。
进一步的,在执行所述采用区别输出接口对所述被动态引用的文件和未被动态引用的文件进行区别输出的步骤之后,所述方法还包括:
从所述被动态引用的文件对应的输出接口,获取所述被动态引用的文件;
从所述未被动态引用的文件对应的输出接口,获取所述未被动态引用的文件;
对所述被动态引用的文件或/和未被动态引用的文件进行路径层级分析,获取路径层级关系;
在执行所述按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面的步骤之前,所述方法还包括:
根据所述路径层级关系构建层级路径图;
将所述层级路径图作为所述第二展示数据对应的标准化展示结构;
所述按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面的步骤,具体包括:
将所述第二展示数据按照所述层级路径图映射在所述可操作展示界面,完成对所述第二展示数据的输出展示。
为了解决上述技术问题,本申请实施例还提供一种Vue项目文件扫描展示装置,采用了如下所述的技术方案:
一种Vue项目文件扫描展示装置,包括:
第一获取模块,用于在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;
项目识别模块,用于根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;
第二命令行构建模块,用于若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;
第二获取模块,用于执行所述第二命令行,获取所述目标前端项目中页面的入口地址;
第三命令行构建模块,用于根据所述入口地址和预设的第二类正则表达式,构建第三命令行;
第三获取模块,用于执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;
文件数据展示模块,用于按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述所述的Vue项目文件扫描展示方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的Vue项目文件扫描展示方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例所述Vue项目文件扫描展示方法,通过在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;执行所述第二命令行,获取所述目标前端项目中页面的入口地址;根据所述入口地址和预设的第二类正则表达式,构建第三命令行;执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。通过采用两次正则表达式的形式,进行Vue项目文件引用扫描,再通过数据标准化将未扫描到的文件展示到预设监测界面,便于开发人员根据展示结果,直观的进行文件删减,节约项目文件库的占用空间,避免积累越来越多的无用文件,保持代码仓库干净。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的Vue项目文件扫描展示方法的一个实施例的流程图;
图3根据本申请的Vue项目文件扫描展示装置的一个实施例的结构示意图;
图4根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的Vue项目文件扫描展示方法一般由服务器/终端设备执行,相应地,Vue项目文件扫描展示装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的Vue项目文件扫描展示方法的一个实施例的流程图。所述的Vue项目文件扫描展示方法,包括以下步骤:
步骤201,在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内。
本实施例中,在执行所述在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内的步骤之前,所述方法还包括:根据预设的启动指令,启动所述目标前端项目。
本实施例中,所述第一命令行为vue inspect指令中的“-v”或“--verbose”命令,所述在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内的步骤,具体包括:获取执行所述“-v”或“--verbose”命令后对应的返回数据;将所述返回数据作为所述第一展示数据映射在所述可操作展示界面内。
步骤202,根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目。
本实施例中,所述根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目的步骤,具体包括:根据预设的输出参照文本,识别所述第一展示数据中是否存在目标字段;若不存在目标字段,则所述目标前端项目不是Vue-cli项目;若存在目标字段,则所述目标前端项目是Vue-cli项目。
以Vue脚手架使用场景为例,若所述目标前端项目为Vue-cli项目,在执行完所述“-v”或“--verbose”命令后,在所述Vue脚手架的展示界面会返回特定的数据字段,将所述特定的数据字段作为所述目标字段,若不是Vue-cli项目,则返回的为报错字段。
步骤203,若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行。
本实施例中,在执行所述基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行的步骤之前,所述方法还包括:根据所述第一类正则表达式,对所述webpack配置信息进行匹配整理,获取第一匹配结果;根据所述第一匹配结果,获取所述目标前端项目的入口字段,并识别所述入口字段的类型,其中,所述入口字段的类型包括数组类型和对象类型。
本实施例中,所述第一类正则表达式包括:用于匹配数组类型的入口字段的第一正则表达式和用于匹配对象类型的入口字段的第二正则表达式,第一正则表达式为“/entry:\s*(\[\s*[^\]]*])\s*}/g”,第二正则表达式为“/entry:\s*\{\s*([^\}]*)\”。
本实施例中,所述基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行的步骤,具体包括:若所述目标前端项目的入口字段的类型为对象类型,则获取所述第一匹配结果加入到预设的命令行待插入位置处,完成第二命令行的构建;若所述目标前端项目的入口字段的类型为数组类型,则依次获取所述入口字段内的元素,并将当前获得的元素加入到预设的命令行待插入位置处,完成一条第二命令行的构建,获取所述入口字段内所有元素对应的第二命令行。
具体的,若所述目标前端项目的入口字段的类型为对象类型,则所述目标前端项目为单页面入口的项目,所述对象类型的入口字段即为所述目标前端项目的入口页面地址信息,此时,直接将所述入口字段加入到预设的命令行待插入位置处,完成第二命令行的构建;
反之,若所述目标前端项目的入口字段的类型为数组类型,则所述目标前端项目为多页面入口的项目,所述入口字段中包含所述目标前端项目的多个入口页面地址信息,此时,依次将各个入口页面地址信息加入到预设的命令行待插入位置处,获取所述入口字段内所有元素对应的第二命令行。
对于常规的Vue-cli项目,一般提供三种常用的入口可供进入选择:单页面入口:“src/main.js|ts”、常见的多页面入口:“src/modules/页面标识/main.js|ts”、自定义多页面入口:“xxx/页面标识/main.js|ts”,其中,所述单页面入口的入口字段即为“src/main.js|ts”所对应的对象,所述数组类型的入口字段为所述常见的多页面入口和自定义多页面入口中的所有页面标识,其中,“xxx”表示自定义字段。
步骤204,执行所述第二命令行,获取所述目标前端项目中页面的入口地址。
步骤205,根据所述入口地址和预设的第二类正则表达式,构建第三命令行。
本实施例中,所述根据所述入口地址和预设的第二类正则表达式,构建第三命令行的步骤,具体包括:根据所述第二类正则表达式,对所述入口地址进行匹配整理,获取第二匹配结果;根据所述第二匹配结果,识别各所述入口地址分别对应的正则表达式,作为目标表达式;根据各所述入口地址和各所述入口地址分别对应的目标表达式,一一构建进行各所述入口地址对应的第三命令行。
本实施例中,所述第二类正则表达式包括用于递归获取Vue项目引用文件的四种不同的正则表达式,所述四种不同的正则表达式分别为:
“/(import|export)\s+([^'|^"]+\s+from\s+)?(['"])([^'|^"|^)|^(]+)\3/ig”、
“/(import|require)\s*\(\s*(\/\*[^\*]+\*\/)?\s*([`'"])([^)]+)\3\s*\)/ig”、
“/\Wurl\s*\((['"]?)([^'|^"|^)|^(]+)\1\)/ig”、
“/\ssrc=\s*(['"])([^'|^"|^)|^(]+)\1/ig”。
步骤206,执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件。
本实施例中,所述执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件的步骤,具体包括:根据所述第三命令行的执行返回结果,分析所述目标前端项目的资源文件的打包路径;根据所述打包路径递归获取所述打包路径下被动态引用的文件和未被动态引用的文件;采用区别输出接口对所述被动态引用的文件和未被动态引用的文件进行区别输出。
步骤207,按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。
本实施例中,在执行所述采用区别输出接口对所述被动态引用的文件和未被动态引用的文件进行区别输出的步骤之后,所述方法还包括:从所述被动态引用的文件对应的输出接口,获取所述被动态引用的文件;从所述未被动态引用的文件对应的输出接口,获取所述未被动态引用的文件;对所述被动态引用的文件或/和未被动态引用的文件进行路径层级分析,获取路径层级关系。
本实施例中,在执行所述按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面的步骤之前,所述方法还包括:根据所述路径层级关系构建层级路径图;将所述层级路径图作为所述第二展示数据对应的标准化展示结构。
本实施例中,所述按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面的步骤,具体包括:将所述第二展示数据按照所述层级路径图映射在所述可操作展示界面,完成对所述第二展示数据的输出展示。
本实施例中,所述Vue项目文件扫描展示方法还包括:对所述方法程序进行打包,生成可调用插件程序,并为所述插件程序设置调用命令行和返回数据映射格式。
本申请通过在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;执行所述第二命令行,获取所述目标前端项目中页面的入口地址;根据所述入口地址和预设的第二类正则表达式,构建第三命令行;执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。通过采用两次正则表达式的形式,进行Vue项目文件引用扫描,再通过数据标准化将未扫描到的文件展示到预设监测界面,便于开发人员根据展示结果,直观的进行文件删减,节约项目文件库的占用空间,避免积累越来越多的无用文件,保持代码仓库干净。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例中,可将所述Vue项目文件扫描展示方法对应的执行程序封装为插件,部署到人工智能的操作/交互系统,在实际开发阶段,可直接将所述插件配置到目标前端项目中,进行智能查找到未使用到的文件,将查找结果智能展示到目标监测端,辅助开发人员进行文件删减,从而为代码优化提供参考和依据,利于代码库的维护和不同开发人员进行开发迭代和保持代码仓库干净,及时删除冗余文件。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种Vue项目文件扫描展示装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的Vue项目文件扫描展示装置300包括:第一获取模块301、项目识别模块302、第二命令行构建模块303、第二获取模块304、第三命令行构建模块305、第三获取模块306和文件数据展示模块307。其中:
第一获取模块301,用于在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;
项目识别模块302,用于根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;
第二命令行构建模块303,用于若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;
第二获取模块304,用于执行所述第二命令行,获取所述目标前端项目中页面的入口地址;
第三命令行构建模块305,用于根据所述入口地址和预设的第二类正则表达式,构建第三命令行;
第三获取模块306,用于执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;
文件数据展示模块307,用于按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。
在本申请的一些具体的实施方式中,所述的Vue项目文件扫描展示装置300还包括插件生成模块,所述插件生成模块用于对所述方法程序进行打包,生成可调用插件程序,并为所述插件程序设置调用命令行和返回数据映射格式。
本申请通过在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;执行所述第二命令行,获取所述目标前端项目中页面的入口地址;根据所述入口地址和预设的第二类正则表达式,构建第三命令行;执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。通过采用两次正则表达式的形式,进行Vue项目文件引用扫描,再通过数据标准化将未扫描到的文件展示到预设监测界面,便于开发人员根据展示结果,直观的进行文件删减,节约项目文件库的占用空间,避免积累越来越多的无用文件,保持代码仓库干净。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器4a、处理器4b、网络接口4c。需要指出的是,图中仅示出了具有组件4a-4c的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器4a至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器4a可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器4a也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器4a还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器4a通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如Vue项目文件扫描展示方法的计算机可读指令等。此外,所述存储器4a还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器4b在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器4b通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器4b用于运行所述存储器4a中存储的计算机可读指令或者处理数据,例如运行所述Vue项目文件扫描展示方法的计算机可读指令。
所述网络接口4c可包括无线网络接口或有线网络接口,该网络接口4c通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例提出的计算机设备,属于数据处理技术领域。本申请通过在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;执行所述第二命令行,获取所述目标前端项目中页面的入口地址;根据所述入口地址和预设的第二类正则表达式,构建第三命令行;执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。通过采用两次正则表达式的形式,进行Vue项目文件引用扫描,再通过数据标准化将未扫描到的文件展示到预设监测界面,便于开发人员根据展示结果,直观的进行文件删减,节约项目文件库的占用空间,避免积累越来越多的无用文件,保持代码仓库干净。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被处理器执行,以使所述处理器执行如上述的Vue项目文件扫描展示方法的步骤。
本实施例提出的计算机可读存储介质,属于数据处理技术领域。本申请通过在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;执行所述第二命令行,获取所述目标前端项目中页面的入口地址;根据所述入口地址和预设的第二类正则表达式,构建第三命令行;执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。通过采用两次正则表达式的形式,进行Vue项目文件引用扫描,再通过数据标准化将未扫描到的文件展示到预设监测界面,便于开发人员根据展示结果,直观的进行文件删减,节约项目文件库的占用空间,避免积累越来越多的无用文件,保持代码仓库干净。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种Vue项目文件扫描展示方法,其特征在于,包括下述步骤:
在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;
根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;
若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;
执行所述第二命令行,获取所述目标前端项目中页面的入口地址;
根据所述入口地址和预设的第二类正则表达式,构建第三命令行;
执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;
按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。
2.根据权利要求1所述的Vue项目文件扫描展示方法,其特征在于,在执行所述在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内的步骤之前,所述方法还包括:
根据预设的启动指令,启动所述目标前端项目;
所述第一命令行为vue inspect指令中的“-v”或“--verbose”命令,所述在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内的步骤,具体包括:
获取执行所述“-v”或“--verbose”命令后对应的返回数据;
将所述返回数据作为所述第一展示数据映射在所述可操作展示界面内。
3.根据权利要求1所述的Vue项目文件扫描展示方法,其特征在于,所述根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目的步骤,具体包括:
根据预设的输出参照文本,识别所述第一展示数据中是否存在目标字段;
若不存在目标字段,则所述目标前端项目不是Vue-cli项目;
若存在目标字段,则所述目标前端项目是Vue-cli项目。
4.根据权利要求1所述的Vue项目文件扫描展示方法,其特征在于,在执行所述基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行的步骤之前,所述方法还包括:
根据所述第一类正则表达式,对所述webpack配置信息进行匹配整理,获取第一匹配结果,其中,所述第一类正则表达式包括:用于匹配数组类型的入口字段的第一正则表达式和用于匹配对象类型的入口字段的第二正则表达式;
根据所述第一匹配结果,获取所述目标前端项目的入口字段,并识别所述入口字段的类型,其中,所述入口字段的类型包括数组类型和对象类型;
所述基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行的步骤,具体包括:
若所述目标前端项目的入口字段的类型为对象类型,则获取所述第一匹配结果加入到预设的命令行待插入位置处,完成第二命令行的构建;
若所述目标前端项目的入口字段的类型为数组类型,则依次获取所述入口字段内的元素,并将当前获得的元素加入到预设的命令行待插入位置处,完成一条第二命令行的构建,获取所述入口字段内所有元素对应的第二命令行。
5.根据权利要求1所述的Vue项目文件扫描展示方法,其特征在于,所述根据所述入口地址和预设的第二类正则表达式,构建第三命令行的步骤,具体包括:
根据所述第二类正则表达式,对所述入口地址进行匹配整理,获取第二匹配结果,其中,所述第二类正则表达式包括用于递归获取Vue项目引用文件的四种不同的正则表达式;
根据所述第二匹配结果,识别各所述入口地址分别对应的正则表达式,作为目标表达式;
根据各所述入口地址和各所述入口地址分别对应的目标表达式,一一构建进行各所述入口地址对应的第三命令行。
6.根据权利要求5所述的Vue项目文件扫描展示方法,其特征在于,所述执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件的步骤,具体包括:
根据所述第三命令行的执行返回结果,分析所述目标前端项目的资源文件的打包路径;
根据所述打包路径递归获取所述打包路径下被动态引用的文件和未被动态引用的文件;
采用区别输出接口对所述被动态引用的文件和未被动态引用的文件进行区别输出。
7.根据权利要求6所述的Vue项目文件扫描展示方法,其特征在于,在执行所述采用区别输出接口对所述被动态引用的文件和未被动态引用的文件进行区别输出的步骤之后,所述方法还包括:
从所述被动态引用的文件对应的输出接口,获取所述被动态引用的文件;
从所述未被动态引用的文件对应的输出接口,获取所述未被动态引用的文件;
对所述被动态引用的文件或/和未被动态引用的文件进行路径层级分析,获取路径层级关系;
在执行所述按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面的步骤之前,所述方法还包括:
根据所述路径层级关系构建层级路径图;
将所述层级路径图作为所述第二展示数据对应的标准化展示结构;
所述按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面的步骤,具体包括:
将所述第二展示数据按照所述层级路径图映射在所述可操作展示界面,完成对所述第二展示数据的输出展示。
8.一种Vue项目文件扫描展示装置,其特征在于,包括:
第一获取模块,用于在预设的可操作展示界面执行第一命令行,获取并将第一展示数据映射在所述可操作展示界面内;
项目识别模块,用于根据所述可操作展示界面内映射的所述第一展示数据,识别目标前端项目是否为Vue-cli项目;
第二命令行构建模块,用于若所述目标前端项目为Vue-cli项目,则基于所述目标前端项目的webpack配置信息和预设的第一类正则表达式构建第二命令行;
第二获取模块,用于执行所述第二命令行,获取所述目标前端项目中页面的入口地址;
第三命令行构建模块,用于根据所述入口地址和预设的第二类正则表达式,构建第三命令行;
第三获取模块,用于执行所述第三命令行,获取所述目标前端项目的资源文件中被动态引用的文件和未被动态引用的文件;
文件数据展示模块,用于按照预设的标准化展示结构,将所有被动态引用的文件或/和未被动态引用的文件作为第二展示数据展示在所述可操作展示界面。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的Vue项目文件扫描展示方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的Vue项目文件扫描展示方法的步骤。
CN202310415203.6A 2023-04-11 2023-04-11 Vue项目文件扫描展示方法、装置、设备及其存储介质 Pending CN116594599A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310415203.6A CN116594599A (zh) 2023-04-11 2023-04-11 Vue项目文件扫描展示方法、装置、设备及其存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310415203.6A CN116594599A (zh) 2023-04-11 2023-04-11 Vue项目文件扫描展示方法、装置、设备及其存储介质

Publications (1)

Publication Number Publication Date
CN116594599A true CN116594599A (zh) 2023-08-15

Family

ID=87605248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310415203.6A Pending CN116594599A (zh) 2023-04-11 2023-04-11 Vue项目文件扫描展示方法、装置、设备及其存储介质

Country Status (1)

Country Link
CN (1) CN116594599A (zh)

Similar Documents

Publication Publication Date Title
CN116431878A (zh) 向量检索服务方法、装置、设备及其存储介质
CN117033249A (zh) 一种测试用例生成方法、装置、计算机设备及存储介质
CN115712422A (zh) 表单页面的生成方法、装置、计算机设备及存储介质
CN114968725A (zh) 任务依赖关系校正方法、装置、计算机设备及存储介质
CN115756692A (zh) 基于样式属性自动组合展示页面的方法及其相关设备
CN115185625A (zh) 基于可配置卡片的自推荐式界面更新方法及其相关设备
CN116594599A (zh) Vue项目文件扫描展示方法、装置、设备及其存储介质
CN115168471A (zh) 数据报表生成方法、装置、计算机设备及存储介质
CN116974929A (zh) 自动化测试工具构建方法、自动化测试方法及其相关设备
CN116166270A (zh) 一种xaml文件修正方法、装置、计算机设备及存储介质
CN116933733A (zh) 一种文本输入展示方法、装置、设备及其存储介质
CN116795882A (zh) 数据获取方法、装置、计算机设备及存储介质
CN115809241A (zh) 数据存储方法、装置、计算机设备及存储介质
CN115828018A (zh) 电子杂志界面素材替换方法及其相关设备
CN117579457A (zh) 一种业务逻辑隔离方法、装置、计算机设备及存储介质
CN117234505A (zh) 一种交互页面生成方法、装置、设备及其存储介质
CN117390119A (zh) 任务处理方法、装置、计算机设备及存储介质
CN116149665A (zh) 一种xaml文件修改方法、装置、计算机设备及存储介质
CN117492752A (zh) 一种页面动态配置方法、装置、计算机设备及存储介质
CN117880274A (zh) 一种文件上传方法、装置、计算机设备及存储介质
CN114528220A (zh) 测试案例的生成方法、装置、计算机设备及存储介质
CN116842011A (zh) 血缘关系分析方法、装置、计算机设备及存储介质
CN117421207A (zh) 智能评估影响点测试方法、装置、计算机设备及存储介质
CN117421233A (zh) 基于注解的代码生成方法、装置、计算机设备及存储介质
CN115731057A (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