У меня есть несколько классов в папке с именем «controllers».Из моего файла «main.ts» я перечисляю классы из этой папки «controllers» и пытаюсь динамически импортировать их.
Каждый класс экспортируется с использованием «export default»
Что я пробовал:
- Удаление экспорта по умолчанию из импортируемых классов
Результат:
- Не выдает никакой ошибки
- Значение Foo:
{ default: {} }
. / Controllers / LoginController.ts
export default class LoginController {
...
...
...
}
. / Main.ts
glob("**/*.controller.ts", {}, async function (er, paths: string[]) {
// files is an array of filenames.
// If the `nonull` option is set, and nothing
// was found, then files is ["**/*.js"]
// er is an error object or null.
for (const path of paths) {
try {
const foo = require(`../${path}`)
console.log(foo)
} catch (e) {
console.log(e)
}
}
});
Вот мой терминалвывод при запуске вещи:
Дело в том, что с машинописью я использую это для динамического импорта любого класса, я получаю следующую ошибку:
export default class LoginController {
[0] ^^^^^^
[0]
[0] SyntaxError: Unexpected token export
[0] at Module._compile (internal/modules/cjs/loader.js:703:23)
[0] at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
[0] at Module.load (internal/modules/cjs/loader.js:628:32)
[0] at Function.Module._load (internal/modules/cjs/loader.js:555:12)
[0] at Module.require (internal/modules/cjs/loader.js:666:19)
[0] at require (internal/modules/cjs/helpers.js:16:16)
[0] at /Users/absystech/Development/Absystech/espace client/backend/dist/main.js:25:29
[0] at Generator.next (<anonymous>)
[0] at /Users/absystech/Development/Absystech/espace client/backend/dist/main.js:8:71
[0] at new Promise (<anonymous>)
Может кто-нибудь помочь мне в этом, заранее спасибо!