Регулярное выражение для динамичных имен локалей
Структура:
- /core/components/название_компонента/lang/en.js
- /core/components/название_компонента/lang/ru.js
- /modules/название_компонента/lang/en.js
- /modules/название_компонента/lang/ru.js
/vue-lang/index.js:
import { loadLocales } from 'Functions/loadLocales';
const locales = [];
const locales_components = require.context('Components', true, /lang\/[a-z]\.js$/i);
const locales_modules = require.context('Modules', true, /lang\/[a-z]\.js$/i);
loadLocales(locales_components, locales);
loadLocales(locales_modules, locales);
console.log(locales);
Функция loadLocales:
export function loadLocales(path, locales) {
path.keys()
.map(path)
.map(m => m.default)
.forEach(key => {
locales.push(key[0]);
});
}
Структура ru.js:
const locales = [
{
'title': 'Какой-то заголовок'
}
];
export default locales;
Сейчас не находит, но если изменить регулярку на:
/lang\/ru.js$/i
То отлично подгружает все ru.js из всех директорий, но как сюда подключить и другие возможные языки, типа en.js, fr.js и т.д.?