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 то такая конструкция перестала работать.
Подскажите пожалуйста, как такое можно реализовать.
  • Вопрос задан
  • 270 просмотров
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы