利用node读写文件的能力自动生成路由

vue项目中,路由文件会越来越大,维护越来与复杂,看着眼花缭乱。我们可以维护一份简单的路由文件,只包含路径,名称以及少量配置信息即可,利用node读写文件的能力,去自动生成我们所要使用的路由文件,示例如下:

let render = require('json-templater/string') 

let fs = require('fs')

let path = require('path')

let config = require('../src/router/PageConfig') // route配置js

 

const COMPONENTS_TEMPLATE = "{ path: '{{path}}', name: '{{name}}', component: () => import(/* webpackChunkName: \"{{name}}\" */ '@pages{{filePath}}'), meta: {{meta}} }"

const routeTemplate = [] // 存储利用以上模板生成的的route

config.map(route => { // 遍历配置文件

    let name = route.name // 名称

    let path = route.path // 路径

    let meta = route.meta || {}

    let filePath = route.filePath || route.path

    routeTemplate.push(render(COMPONENTS_TEMPLATE, { path: path, name: name, filePath: filePath, meta: JSON.stringify(meta) }))

})

 

const MAIN_TEMPLATE = `const config = [\n${routeTemplate.join(',\n')}];\nexport default config;\n` // 生成要输出的路由文件内容的字符串模板

fs.writeFileSync(path.join(__dirname, ../src/router/routeConfig.js), render(MAIN_TEMPLATE)) // 依据模板生成js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值