js脚本:筛选vue项目路由中的页面名称、页面唯一标识、页面路由

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xie_bro777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值