cmtter-vue-router
介绍 ([email protected])
优化:问题描述如下
初始创建的Router配置如下(注意404配置在二级目录中)
import Router from 'vue-router'
const router = new Router({
routes: [
{
path: '/',
name: 'main',
component: ?,
children: [
{
path: '*',
name: '404',
component: '?'
}
]
}
]
})
问题描述:
我希望在404页面增加一些逻辑:根据菜单数据,按需router.addRoute添加路由配置,此时无法正常跳转,始终在404页面,
解决方式(在 create-route-map.js 增加以下代码)
/**
* [ '/*', '/a/*','/','/404' => [ '/404', '/', '/a/*', '/*' ]
* @author xiufu.wang
*/
const _pathList = pathList.splice(0).sort(function (a, b) {
if (a.indexOf('*') > -1 && b.indexOf('*') < 0) {
return 1
}
if (a.indexOf('*') < 0 && b.indexOf('*') > -1) {
return -1
}
return b.length - a.length
})
for (var i = 0; i < _pathList.length; i++) {
pathList.push(_pathList[i])
}
Dependencies
@rollup/plugin-commonjs: ^17.0.0@rollup/plugin-node-resolve: ^11.0.0@vuepress/plugin-pwa: ^1.5.3@vuepress/theme-vue: ^1.5.3axios: ^0.21.1babel-core: ^6.24.1babel-eslint: ^10.0.2babel-loader: ^7.1.3babel-plugin-syntax-dynamic-import: ^6.18.0babel-preset-env: ^1.6.1babel-preset-flow-vue: ^1.0.0browserstack-local: ^1.4.8buble: ^0.19.8chromedriver: ^90.0.0conventional-changelog-cli: ^2.0.11cross-spawn: ^7.0.3css-loader: ^2.1.1dotenv: ^8.2.0es6-promise: ^4.2.8eslint: ^4.19.1eslint-plugin-flowtype: ^2.46.1eslint-plugin-jasmine: ^2.10.1eslint-plugin-vue-libs: ^2.1.0express: ^4.17.1express-urlrewrite: ^1.2.0flow-bin: ^0.66.0geckodriver: ^1.20.0jasmine: 2.8.0lint-staged: ^8.2.0nightwatch: ^1.3.6nightwatch-helpers: ^1.0.0path-to-regexp: ^1.8.0rollup: ^2.34.1rollup-plugin-buble: ^0.19.8rollup-plugin-flow-no-whitespace: ^1.0.0rollup-plugin-replace: ^2.0.0rollup-watch: ^4.0.0selenium-server: ^3.141.59terser: ^4.2.0typescript: ^3.5.2vue: ^2.6.12vue-loader: ^15.9.3vue-server-renderer: ^2.6.12vue-template-compiler: ^2.6.12vuepress: ^1.5.3vuepress-theme-vue: ^1.1.1webpack: ^4.35.2webpack-dev-middleware: ^3.7.0yorkie: ^2.0.0