前言
小编在这里给大家介绍的是uni-simple-router,如果之前有用过vue的朋友,会觉得,用的上手很快,uni-simple-router是一个专门为uniapp打造的路由管理器,和vue-router很相似。
1.打开终端输入npm命令下载
npm install uni-simple-router
2.初始化安装
npm install uni-read-pages
3.在项目的根目录创建一个vue.config.js文件
//vue.config.js
const TransformPages = require('uni-read-pages')
const {webpack} = new TransformPages()
module.exports = {
configureWebpack: {
plugins: [
new webpack.DefinePlugin({
ROUTES: webpack.DefinePlugin.runtimeValue(() => {
const tfPages = new TransformPages({
includes: ['path', 'name', 'aliasPath']
});
return JSON.stringify(tfPages.routes)
}, true )
})
]
}
}
4.再次在根目录下创建router.js文件,里面配置路由守卫
// router.js
import {RouterMount,createRouter} from 'uni-simple-router';
const router = createRouter({
platform: process.env.VUE_APP_PLATFORM,
routes: [...ROUTES]
});
//全局路由前置守卫
router.beforeEach((to, from, next) => {
console.log(to,form,next)
});
// 全局路由后置守卫
router.afterEach((to, from) => {
})
export {
router,
RouterMount
}
5.在main.js里面引入router.js
import {router,RouterMount} from './router.js' //路径换成自己的
Vue.use(router)
6.可能会遇到的问题
1.就是你在路由守卫判断的时候需要给一个 return,不然可能会导致栈溢出。
if(判断条件) return next()
2.如果你在router.js里面引入了createRouter,RouterMount,但是还是报错说没引入,那这可能是你下载的版本号有问题
这是小编引入的版本你可以参考一下,感谢大家对小编的支持。