Я пытаюсь создать оболочку в nodejs, которая абстрагирует различные функции в зависимости от ввода основной оболочки. Например, предположим, у меня есть два разных файла, один с именем usa
и один с именем uk
, и оба имеют одинаковые функции, но имеют разные функции. Я пытаюсь написать функцию, которая с учетом строки us
или uk
, я получаю функцию-обертку, которую я могу вызвать следующим образом:
const Wrapper = MyWrapper('uk')
const func1Output = Wrapper.func1(10)
У меня в данный момент работает выше, файл uk
просто определяет функции внутри него как прототипы следующим образом:
function MyWrapper () { }
MyWrapper.prototype.func1 = (input) => console.log(input)
return new MyWrapper()
Это работает нормально. Моя текущая ситуация такова, что существует множество функций для разных файлов, которые должны быть доступны для оболочки. Это не просто func
, а что-то еще в этом конкретном файле. Это моя структура папок
wrappers
- feed
-- uk
-- us
- news
-- uk
-- us
//etc
Где каждый файл с именем uk
/ us
имеет функции прототипа, как во втором фрагменте кода. Поэтому, когда я хочу использовать, например, модуль feed
, я должен делать то же самое, что и в первом фрагменте кода. Таким образом, он является прототипом для каждого модуля, а не на высоком уровне, где он будет на строку (т. Е. Ук / сша).
Я пытаюсь сделать только один файл index.js
в моей папке упаковщиков, который отвечает за предоставление мне одного упаковщика для всех модулей. Что-то вроде MyWrapper('uk').feed.func1()
Это довольно сложный вопрос для объяснения, но я был бы рад отредактировать сообщение для получения дополнительных разъяснений, если это необходимо.