Как я могу импортировать в файл .js определенный экспорт из файла .mjs, используя асинхронный динамический импорт?

Я пытался найти ответ на эту проблему, но мне это не удалось, поэтому я спрашиваю об этом сам. Я надеюсь, что это внесет свой вклад в будущее.

Я новичок в JS, это первый раз, когда я пытался написать код JS, и я работаю над существующим репозиторием, заполненным файлами .js и .mjs.

У меня есть файл .mjs, который экспортирует набор баз данных (или я так понимаю) с именем «modelsPromise» и позволяет другим файлам запускать различные методы оболочки mongo в этих базах данных, например:

      const models = await modelsPromise
const site = await models.tableName.findOne({ where: { Number } });

В других файлах .mjs импорт выглядит так:

      import { modelsPromise } from '../db/db';

Я пытаюсь импортировать эту коллекцию в файл .js - я обнаружил, что лучший (или единственный?) Способ сделать это - использовать асинхронный динамический импорт:

      (async () => {
const {dbs} = await import('../../../server/db/db');
})();

Мой вопрос -

  1. Учитывая, что db.mjs экспортирует modelsPromise, а также другие вещи, как я могу использовать его в моем файле .js? Это должно быть что-то вроде dbs.modelsPromise?
  2. Может ли кто-нибудь таким образом импортировать конкретный экспорт (modelsPromise)?

Заранее спасибо!

0 ответов

Другие вопросы по тегам