首页  >  问答  >  正文

Vite可以导入文件夹结构吗?

我在 src/pages 文件夹中有一堆子文件夹以及一些 .vue 组件。使用 webpack,我能够使用如下代码获取页面路径和名称的列表:

export default require
  .context("../pages", true, /^./.*.vue$/)
  .keys()
  .map(page => page.slice(2).replace(".vue", ""))
  .filter(page => page !== "Index")
  .map(page => ({
    file: page,
    title: createTitle(page),
    path: slugify(kebabCase(page))
  }));

Vite似乎不支持这个。我尝试了 const pages = import.meta.glob('../pages/*.vue') 但这仅适用于文件,不适用于子文件夹内的文件。

知道如何使用 Vite 实现这一目标吗?

P粉308089080P粉308089080374 天前635

全部回复(1)我来回复

  • P粉014293738

    P粉0142937382023-11-02 10:05:03

    我找到了办法。它并不完美,但也不可怕:

    const pages = import.meta.glob('../pages/*.vue')
    const folders = import.meta.glob('../pages/*/*.vue')
    const both = {...pages, ...folders}
    export default both

    这是一个改进:

    const pages = import.meta.glob('../pages/**/*.vue')
    export default pages

    回复
    0
  • 取消回复