Я создаю приложение ExtJS 6.2 с нуля. Я новичок в этой структуре, поэтому я мог бы использовать некоторую помощь при создании лесов.
В разработанном приложении должны быть отдельные "плагины", которые (на уровне кода/пакетов) будут полностью разделены. У нас также есть какой-то Маршрутизатор, который зарегистрирует некоторую информацию для имени имени (путь/контроллер/модель/дополнительная информация). Я бы хотел, чтобы она работала аналогично шаблону проектирования шаблонов. Когда я добавляю новый плагин/модуль, я также добавляю файл с определенным шаблоном имени - например. ModuleACMEGlobalConf. Я хочу, чтобы приложение ExtJS (или компонент/класс - независимо) каким-то образом сканировало все дерево классов для файлов с таким шаблоном имени, прочитало их содержимое, а затем разместило мою конфигурацию/глобальное пространство имен маршрутизатора.
И вопрос в том, что это лучший способ достичь этого?
UPDATE:
Структура Я хочу иметь:
MyAppFolder ---Module1 .....MyConfigGlobal1.js ---Module2 .....MyConfigGlobal2.js --- ---Router.js -> I want this file to scan whole 'MyAppFolder' tree, find files with *ConfigGlobal*.js pattern, read them and store in global namespace
MyConfigGlobal1.js
var config = { configProp1: 'test', configProp2: 'test2'}
MyConfigGlobal2.js
var config = {configProp3: 'test3', configProp4: 'test4'}
Router.js
var configsMap = EXT.SOMETHING.FIND.ME.CLASSES.FROM.TREE.WITH.NAME('*MyConfigGlobal*')
И я хочу, чтобы маршрутизатор загружал все (он может быть на уровне класса, а не на уровне файла) - будь то один класс или сто. И с этим решением мне не нужно менять Router.js когда-либо - просто добавьте еще один класс конфигурации в новом модуле, который я создаю. Поэтому нет необходимости повторять предыдущие модули.
Но если в Router есть что-то подобное:
var requiredConfigs = ['MyGlobalConfig1.js','MyGlobalConfig2.js']
И я собираюсь добавить третий файл/класс в этот список в Router, это означает, что политика сломана, и мне нужно повторно протестировать module1 и module2, потому что код, общий для них каким-то образом, был изменен.