Как получить файлы динамически из папки, подпапки и ее подпапки в веб-пакете javascript

1

Я пытаюсь создать небольшое приложение в VueJs с помощью webpack, где я хочу динамически webpack файлы config/routing из папок. У меня есть структура папки что-то вроде этого:

plugins
|----Ecommerce
|--------backend
|--------frontend
|------------config.js
|------------routes.js
|------------components
|----------------products.vue
|----Blog
|--------backend
|--------frontend
|------------config.js
|------------routes.js
|------------components
|----------------posts.vue

Для этого я пытаюсь включить свои файлы:

const configRequire = require.context('./../plugins/', true, /\.\/[^/]+\/config\.js$/);
const routesRequire = require.context('./../plugins/', true, /\.\/[^/]+\/routes\.js$/);

Но почему-то это не включает файлы. Я думаю, что-то не так с моим регулярным выражением

Редактировать:

Обнаружена проблема, мои файлы не импортируются, поскольку они находятся внутри folders/subfolder/subfolder, если я сохраняю структуру папок следующим образом:

plugins
|----Ecommerce
|--------backend
|--------config.js
|--------routes.js
|--------frontend
|------------components
|----------------products.vue
|----Blog
|--------backend
|--------config.js
|--------routes.js
|--------frontend
|------------components
|----------------posts.vue

Я вижу, что мои файлы импортируются. Но не получается, когда я храню файлы config/routes внутри папки frontend

Помогите мне в этом. Благодарю.

  • 1
    Я не знаком с синтаксисом require.context , но это регулярное выражение, содержащее route\.js и фактический файл, содержащий route s .js тип, который вы ввели при копировании вопроса в StackOverflow
  • 0
    @Ferrybig Спасибо за совет.
Показать ещё 4 комментария
Теги:
vue.js
vuejs2
webpack

1 ответ

1
Лучший ответ

Проверьте это, чтобы лучше понять текущее регулярное выражение: https://regex101.com/r/Y9sDZc/1 (удалите первую строку, чтобы увидеть, как она не совпадает со вторым).

Я не совсем уверен, что именно вы хотите совместить, а что нет, поэтому я могу только догадываться, какое правильное решение для вашего дела есть, но вот несколько вариантов:
config\.js соответствует всем файлам config.js. Справочники позаботятся по вашим параметрам require.context. Это также будет соответствовать plugins/foo/bar/config.js/somefile.txt хотя если вы будете контролировать все файлы и уверены, что это не проблема, используйте config\.js - это config\.js простое решение.

Чуть более выборочным будет:
.*\/config\.js$

Надеюсь, это поможет.

  • 0
    Ну, что ж, спасибо. Это помогло мне.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню