Как запретить машинописному тексту передавать динамический импорт в require()? ⇐ Javascript
Как запретить машинописному тексту передавать динамический импорт в require()?
Я создаю бота discord.js Discord. Теперь по какой-то причине discord.js не работает с модулями ESM (совершенно отдельная проблема), поэтому мое приложение-бот использует модули CommonJS. . Теперь в моей системе есть еще один проект под названием Lib, в котором есть множество служебных функций, которые я планирую использовать в нескольких разных проектах, чтобы мне не пришлось их переписывать. В этом проекте Lib используются модули ESM. Поскольку мне нужно импортировать Lib из DiscordBot, я использую синтаксис динамического импорта в машинописном языке. Теперь, когда я транспилирую свой проект DiscordBot, динамический импорт преобразуется в какой-то уродливый код модуля JavaScript, и этот уродливый код модуля в конечном итоге приводит к использованию require(). Поскольку метод require() не может импортировать модули ESM, мой бот аварийно завершает работу.
Однако я попытался остановить мой компилятор ts, скопировать код из моего файла ts, который импортирует Lib, а затем вручную вставить этот код в соответствующий файл JS (и удалить эксклюзивные функции TS, такие как аннотации типов и интерфейсы). Затем я запустил свое бот-приложение, и оно работало отлично. Но я не хочу делать это каждый раз. Итак, проблема в компиляции tsc. Как это исправить?
Я создаю бота discord.js Discord. Теперь по какой-то причине discord.js не работает с модулями ESM (совершенно отдельная проблема), поэтому мое приложение-бот использует модули CommonJS. . Теперь в моей системе есть еще один проект под названием Lib, в котором есть множество служебных функций, которые я планирую использовать в нескольких разных проектах, чтобы мне не пришлось их переписывать. В этом проекте Lib используются модули ESM. Поскольку мне нужно импортировать Lib из DiscordBot, я использую синтаксис динамического импорта в машинописном языке. Теперь, когда я транспилирую свой проект DiscordBot, динамический импорт преобразуется в какой-то уродливый код модуля JavaScript, и этот уродливый код модуля в конечном итоге приводит к использованию require(). Поскольку метод require() не может импортировать модули ESM, мой бот аварийно завершает работу.
Однако я попытался остановить мой компилятор ts, скопировать код из моего файла ts, который импортирует Lib, а затем вручную вставить этот код в соответствующий файл JS (и удалить эксклюзивные функции TS, такие как аннотации типов и интерфейсы). Затем я запустил свое бот-приложение, и оно работало отлично. Но я не хочу делать это каждый раз. Итак, проблема в компиляции tsc. Как это исправить?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Динамически передавать атрибут `requires` в py_wheel из файла require.txt
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Передавать или не передавать модель представления в составной элемент
Anonymous » » в форуме Android - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-