复制代码
可以看见表格页模板里面有很多两个%包起来的变量,这是等下我们需要按照配置文件进行替换的变量。 我们继续在auto-build-page文件夹下新建一个build-page.js文件,里面写的是整个自动化操作的代码
var addConfig = require(‘./addConfig’)
var fs = require(‘fs’)
var path = require(‘path’)
var shell = require(‘shelljs’)
shell.echo(‘>>>>>>’)
shell.echo(‘开始新建页面’)
addConfig.forEach((ele) => {
if (ele.open) {
buildPage(ele)
}
})
复制代码
我们循环配置文件里面的配置,支持生成多个页面。对文件的操作我们直接使用node的fs模块完成。 读取模板文件,并根据配置文件,对模板文件里面的变量进行替换:
function buildPage(config) {
var paths = path.resolve(./src/views/${config.name}
)
shell.echo(‘页面地址:’ + paths)
mkdirSync(paths, function() {
var str = ‘’
if (config.helloworld) {
// 新建空白页,读取空白页模版
str = handleStr(
readF(path.resolve(‘./template-helloworld.vue’)),
config
)
} else {
str = handleStr(
readF(path.resolve(‘./template-table.vue’)),
config
)
}
// 写入文件
writeF(paths + ‘/index.vue’, str)
shell.echo(‘开始新增路由……’)
addRou(./views/${config.name}/index.vue
, config)
})
}
复制代码
根据配置文件替换%包起来的变量:
function handleStr(str, config) {
if (config.helloworld) {
return str
}
str = str.replace(‘%title%’, config.desc)
str = str.replace(‘%method%’, config.getlist.method)
str = str.replace(‘%geturl%’, config.getlist.url)
return str
}
复制代码
添加路由
接下来是添加路由,在此之前我们还是需要添加一个路由的模板文件,在auto-build-page文件夹下新建一个template-route.txt文件:
{
path: ‘%path%’,
component: Home,
name: ‘%name%’,
redirect: { path: ‘%repath%’ },
children: [
{
path: ‘%repath%’,
component: (resolve) =>
require([‘%requirepath%’], resolve),
name: ‘%name2%’
}
]
},
复制代码
里面根据我们路由规则,写入模板。 回到build-page.js文件,我们继续书写添加路由的操作,我们先读取路由模板:
function addRou(paths, config) {
var templateStr = handleRouStr(
readF(path.resolve(‘./auto-build-page/template-route.txt’)),
config,
paths
)
// 添加到路由文件
addToConf(templateStr)
}
function handleRouStr(str, config, paths) {
str = str.replace(/%path%/g, /${config.name}
)
str = str.replace(/%name%/g, config.desc)
str = str.replace(/%name2%/g, ${config.desc}首页
)
str = str.replace(/%repath%/g, /${config.name}/index
)
str = str.replace(/%requirepath%/g, paths)
return str
}
将路由添加到vue项目src下的routes.js文件里面:
function addToConf(str) {
str += ‘// add-flag’ // 添加的位置标记
var confStr = handleConfRouStr(readF(path.resolve(‘./src/addRoute.js’)), str)
writeF(path.resolve(‘./src/addRoute.js’), confStr)
shell.echo(‘路由添加成功!’)
shell.echo(‘结束生成页面’)
shell.echo(‘>>>>>>’)
}
function handleConfRouStr(ori, str) {
ori = ori.replace(‘// add-flag’, str)
return ori
}
我这里是为了避免原来的routes.js文件,我新建了一个addRoute.js文件,然后在routes.js文件中引入,和原来的合并以下即可。 routes.js:
// 自动生成页面–自动添加路由
import addRoute from ‘./addRoute’
let routes = []
let lastRoute = routes.concat(addRoute)
export default lastRoute
addRoute.js:
const addRoute = [
// add-flag
// 不能删除
]
export default addRoute
接下来我们需要在package.json文件里面的scripts里面添加运行的脚本,这样,只需要执行npm run 命令就可以运行自动生成的操作:
“scripts”: { “dev”: “vue-cli-service serve”, “build”: “vue-cli-service build”, “bpage”: “node ./auto-build-page/build-page.js” },
现在执行npm run bpage 控制台输出:
开始新建页面
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
…(img-6IfSALoQ-1715097970807)]
[外链图片转存中…(img-eKLGeLVF-1715097970807)]
[外链图片转存中…(img-tfQ9hGul-1715097970807)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!