本文方法是在项目运行的时候同步pages.json内容到router,如果你更改了pages.json,就重新启动一下项目
先在项目根目录创建一个router文件夹,在vue.config.js里面加入如下代码
const path = require('path')
const fs = require('fs')
const fromFile = path.join(__filename, '../pages.json')
const toFile = path.join(__filename, '../router/index.js')
const buffPrefix = Buffer.from('export default ')
const fileData = fs.readFileSync(fromFile)
const fileObj = JSON.parse(fileData.toString().replace(/\/\/.*/g, ''))
const routes = fileObj.pages.map(e => {
return {
title: e.style ? e.style.navigationBarTitleText : '未知',
path: e.path,
}
})
if (fileObj.subPackages) {
fileObj.subPackages.forEach(e => {
e.pages.forEach(i => {
routes.push({
title: i.style ? i.style.navigationBarTitleText : '未知',
path: e.root + '/' + i.path,
})
})
})
}
fs.writeFileSync(toFile, buffPrefix + Buffer.from(JSON.stringify(routes)))
module.exports = {
configureWebpack: {
plugins: []
}
}
2. 重启项目就得到了
ok搞定了
|