feat: auto import route

This commit is contained in:
vben
2020-10-16 22:03:44 +08:00
parent aca07d4ca7
commit 8a1bfdf13d
20 changed files with 528 additions and 339 deletions

View File

@@ -91,7 +91,7 @@ export default defineComponent({
});
watch(
() => currentRoute.value.path,
() => currentRoute.value.name,
(name: string) => {
name !== 'Redirect' && handleMenuChange();
getParentPath();

View File

@@ -48,7 +48,9 @@ export default function (expandedParentClass = '', x = false) {
if (expandedParentClass && el._parent) {
el._parent.classList.add(expandedParentClass);
}
console.log('======================');
console.log(sizeProperty, offset);
console.log('======================');
requestAnimationFrame(() => {
el.style[sizeProperty] = offset;
});

View File

@@ -1,4 +1,4 @@
import type { Menu } from '/@/router/types';
import type { Menu, MenuModule } from '/@/router/types';
import type { RouteRecordNormalized } from 'vue-router';
import { appStore } from '/@/store/modules/app';
import { permissionStore } from '/@/store/modules/permission';
@@ -7,35 +7,40 @@ import { filter } from '/@/utils/helper/treeHelper';
import router from '/@/router';
import { PermissionModeEnum } from '/@/enums/appEnum';
import { pathToRegexp } from 'path-to-regexp';
import modules from 'globby!/@/router/menus/modules/**/*.@(ts)';
// ===========================
// ==========module import====
// ===========================
import dashboard from './modules/dashboard';
// import dashboard from './modules/dashboard';
import exceptionDemo from './modules/demo/exception';
import iframeDemo from './modules/demo/iframe';
import compDemo from './modules/demo/comp';
import permissionDemo from './modules/demo/permission';
import featDemo from './modules/demo/feat';
import chartsDemo from './modules/demo/charts';
import tableDemo from './modules/demo/table';
import formDemo from './modules/demo/form';
import treeDemo from './modules/demo/tree';
// import exceptionDemo from './modules/demo/exception';
// import iframeDemo from './modules/demo/iframe';
// import compDemo from './modules/demo/comp';
// import permissionDemo from './modules/demo/permission';
// import featDemo from './modules/demo/feat';
// import chartsDemo from './modules/demo/charts';
// import tableDemo from './modules/demo/table';
// import formDemo from './modules/demo/form';
// import treeDemo from './modules/demo/tree';
const menuModules = [
dashboard,
featDemo,
exceptionDemo,
iframeDemo,
compDemo,
permissionDemo,
chartsDemo,
tableDemo,
formDemo,
treeDemo,
const menuModules: MenuModule[] = [
// dashboard,
// featDemo,
// exceptionDemo,
// iframeDemo,
// compDemo,
// permissionDemo,
// chartsDemo,
// tableDemo,
// formDemo,
// treeDemo,
];
Object.keys(modules).forEach((key) => {
menuModules.push(modules[key]);
});
// ===========================
// ==========Helper===========
// ===========================

View File

@@ -2,33 +2,37 @@ import type { AppRouteRecordRaw, AppRouteModule } from '/@/router/types';
import { DEFAULT_LAYOUT_COMPONENT, PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '../constant';
import { genRouteModule } from '/@/utils/helper/routeHelper';
import modules from 'globby!/@/router/routes/modules/**/*.@(ts)';
import dashboard from './modules/dashboard';
// import dashboard from './modules/dashboard';
// demo
import exceptionDemo from './modules/demo/exception';
import iframeDemo from './modules/demo/iframe';
import compDemo from './modules/demo/comp';
import permissionDemo from './modules/demo/permission';
import featDemo from './modules/demo/feat';
import chartsDemo from './modules/demo/charts';
import tableDemo from './modules/demo/table';
import formDemo from './modules/demo/form';
import treeDemo from './modules/demo/tree';
// import exceptionDemo from './modules/demo/exception';
// import iframeDemo from './modules/demo/iframe';
// import compDemo from './modules/demo/comp';
// import permissionDemo from './modules/demo/permission';
// import featDemo from './modules/demo/feat';
// import chartsDemo from './modules/demo/charts';
// import tableDemo from './modules/demo/table';
// import formDemo from './modules/demo/form';
// import treeDemo from './modules/demo/tree';
const routeModuleList: AppRouteModule[] = [
exceptionDemo,
dashboard,
iframeDemo,
compDemo,
featDemo,
permissionDemo,
chartsDemo,
tableDemo,
formDemo,
treeDemo,
// exceptionDemo,
// dashboard,
// iframeDemo,
// compDemo,
// featDemo,
// permissionDemo,
// chartsDemo,
// tableDemo,
// formDemo,
// treeDemo,
];
Object.keys(modules).forEach((key) => {
routeModuleList.push(modules[key]);
});
export const asyncRoutes = [
REDIRECT_ROUTE,
PAGE_NOT_FOUND_ROUTE,