js脚本:筛选vue项目路由中的页面名称、页面唯一标识、页面路由
此脚本可以将VueRouter中所编写的项目中涉及的页面名称、页面唯一标识、页面路由过滤为三个对应的 .txt 文件 。
目的:梳理项目中所包含的页面
以下代码为路由文件:src/router/common/route.conf.js
export default [
{
path: '/404',
name: 'notFound',
component: () => import(/* webpackChunkName: "mbank~404" */'views/mbank/public/404'),
meta: {
title: '页面找不到',
checkNetwork: false,
titleColor: '#ffffffff'
}
},
{
path: '/timeout',
name: 'timeout',
component: () => import(/* webpackChunkName: "mbank~timeOut" */'views/mbank/public/timeOut'),
meta: {
title: '操作超时',
checkNetwork: false,
titleColor: '#ffffffff'
}
},
{
path: '/networkError',
name: 'networkError',
component: () => import(/* webpackChunkName: "mbank~networkError" */'views/mbank/public/networkError'),
meta: {
title: '网络异常',
checkNetwork: false,
titleColor: '#ffffffff'
}
},
{
path: '/notPage',
name: 'notPage',
component: () => import(/* webpackChunkName: "mbank~notPage" */'views/mbank/public/notPage'),
meta: {
title: '敬请期待',
checkNetwork: false
}
}
]
以下代码是脚本文件的内容:
/*
* @Author: xiebro
* @Date: 2021-12-02 10:13:36
* @LastEditTime: 2021-12-02 15:03:47
* @LastEditors: Please set LastEditors
* @Description: 导出页面列表
* @FilePath: \hp-tmf-mbank-master\exam.js
*/
const fs = require("fs");
const readline = require("readline");
// 公共
const fn = 'common';
// 按行读取文件
function read_file() {
var fRead = fs.createReadStream("src/router/"+ fn +"/route.conf.js");
var objReadline = readline.createInterface({
input: fRead
});
var pageName = new Array(); // 页面名称
var pageRouter = new Array(); // 页面路由
var pageRouterName = new Array(); // 页面路由
objReadline.on('line', function (line) {
if(line.indexOf('//') < 0){
if (line.includes('title:')) {
let b = line.indexOf("'")
let c = line.indexOf("'", b+1)
pageName.push(line.slice(b+1, c) + '\n')
} else if (line.includes('component:')) {
let a = line.indexOf("*/")
let b = line.indexOf("'", a)
let c = line.indexOf("'", b+1)
pageRouter.push(line.slice(b+1, c) + '\n')
}else if(line.includes('name:')){
let b = line.indexOf("'")
let c = line.indexOf("'", b+1)
pageRouterName.push(line.slice(b+1, c) + '\n')
}
}
});
objReadline.on('close', function () {
writeFile('pageName', pageName)
writeFile('pageRouter', pageRouter)
writeFile('pageRouterName', pageRouterName)
});
};
// 写入文件
function writeFile(filname, data) {
fs.writeFile(`${fn}_${filname}.txt`, data.join(""), 'utf8', function (err) {
if (err) console.log('写文件出错了,错误是:' + err);
console.log('写入成功');
})
}
// 启动
read_file()
以下图片是脚本生成的三个对应的文件:
common_pageName.txt
页面找不到
操作超时
网络异常
敬请期待
common_pageRouter.txt
views/mbank/public/404
views/mbank/public/timeOut
views/mbank/public/networkError
views/mbank/public/notPage
common_pageRouterName.txt
notFound
timeout
networkError
notPage