Я пытаюсь создать небольшое приложение в 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
Помогите мне в этом. Благодарю.
Проверьте это, чтобы лучше понять текущее регулярное выражение: 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$
Надеюсь, это поможет.
require.context
, но это регулярное выражение, содержащееroute\.js
и фактический файл, содержащийroute
s
.js
тип, который вы ввели при копировании вопроса в StackOverflow