Задать вопрос
skoder
@skoder
web программист

Как в TypeScript загрузить все модули из папки?

Здравствуйте. Есть проект Jodit
В данный момент переписываю его на ES16, но изучив TypeScript решил перейти сразу на него.
Собственно задача: помимо обычных модулей, на которых работает сам редактор, к нему подключаются еще плагины.
Плагины вешают события, и работают только через них. В API они не лезут и на него никак не влияют. Они могу быть а могут не быть, от этого редактор не сломается.
Плагины просто закидываются в нужную папку и порядок их подключения не важен.
Соответствнно есть папка с плагинами. Раньше в babel я подключал все файлы из нее в index.js с помощью такой конструкции
let requireAll = (r) => {
    r.keys().forEach(r);
}
requireAll(require.context('./plugins/', true, /\.js$/));

Когда перевел на TypeScript то такая конструкция перестала работать.
Подскажите пожалуйста, как такое можно реализовать.
  • Вопрос задан
  • 274 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
skoder
@skoder Автор вопроса
web программист
Валерий Чупурнов @skoder
В очередной раз, сам задал вопрос, сам ответил:
Конструкция означенная выше, вполне работает. Единственно что TypeScript не знает про метод context у require
Заменяем типа на any, и все работает:
declare var require: any;
let requireAll = (r) => {
    r.keys().forEach(r);
}
requireAll(require.context('./plugins/', true, /\.ts$/));
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@GreatRash
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы