Как прочитать директорию на Vue + Vite?

Приложение построено на Vue.js. Нужно, прочитать директорию и название файлов в ней.

Есть множество решений, но ни одно не получилось использовать, node не поддерживается конечно, FileSystem API тоже не особое хочет работать.

Как можно решить эту проблему? Как использовать Node во Vue приложении? Или есть какие-то аналоги решения?


Ответы (1 шт):

Автор решения: Mio25

Vite поддерживает импорт нескольких модулей из файловой системы с помощью специальной функции: import.meta.glob

const modules = import.meta.glob('./dir/*.js')

Этот импорт будет преобразован в

// code produced by vite
const modules = {
  './dir/foo.js': () => import('./dir/foo.js'),
  './dir/bar.js': () => import('./dir/bar.js')
}

Затем вы можете перебирать ключи modules объекта для доступа к соответствующим модулям:

for (const path in modules) {
  modules[path]().then((mod) => {
    console.log(path, mod)
  })
}

Больше информации в документации vite - Vite: глобальный импорт

→ Ссылка