vite import.meta.glob('./modules/**/*.ts', { eager: true }) 处理?

发布于 2022-08-23 13:09:40 字数 1183 浏览 10 评论 1

import.meta.globEager 被遗弃了,,不想用了。
image.png

// 加入到路由集合中
Object.keys(modules).forEach((key) => {
  const mod = modules[key].default || {};
  const modList = Array.isArray(mod) ? [...mod] : [mod];
  routeModuleList.push(...modList);
});

之前使用这个处理的,现在不用了。
改为import.meta.glob

module/admin.ts

import { RouteRecordRaw } from 'vue-router';

export const adminRouter: Array<RouteRecordRaw> = [
    {
        path: "/",
        name: "home",
        meta: {
            title: "首页",
        },
        component: () => import("@/views/dashboard/index.vue"),
    },
]

base.ts

import { RouteRecordRaw } from 'vue-router';
const routeModuleList: any = [];

const modules = import.meta.glob('./modules/**/*.ts', { eager: true });

base.ts 里的modules 怎么处理?

打印出来
image.png

这个格式按照vite官网里处理不了啊。
蛋疼啊。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫性小仙女 2022-08-27 04:24:22

官方给的不好使,既然是symbol

那就把所有分开的文件导出名称都修改成一样的"Router"。

只要所有的module/xxx.ts,都修改成

export const Router: Array<RouteRecordRaw> = [...]

module/admin.ts

import { RouteRecordRaw } from 'vue-router';

export const Router: Array<RouteRecordRaw> = [
    {
        path: "/",
        name: "home",
        meta: {
            title: "首页",
        },
        component: () => import("@/views/dashboard/index.vue"),
    },
]

base

const modules = import.meta.glob('./modules/**/*.ts', { eager: true });

Object.values(modules).forEach((val) => {
    const mod = val["Router"]
    const modList = Array.isArray(mod) ? [...mod] : [mod];
    routeModuleList.push(...modList);
  });

如此就全部搞定。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文