#javascript #node.js #node-modules
#javascript #node.js #узлы-модули
Вопрос:
я пишу некоторый код в nodejs и express, мне нужно выполнить некоторый код, ПРЕЖДЕ чем продолжить импорт модулей. Все мое приложение настроено и использует модули с импортом вместо require, и я не могу изменить этот параметр.
Чтобы заставить некоторые пакеты npm работать, я должен запустить их, ПРЕЖДЕ чем продолжить импорт модулей. Использование CommonJS и require () работает отлично, но с импортом я не могу.
Даже если я изменяю порядок модулей или вызываю их в разных файлах, все они загружаются ПЕРВЫМИ, и только после этого выполняется мой код.
Пример start.js
import { mustBeLoadedAfterCode } from './second.js';
// some code here I need to execute first
second.js
import { mustBeLoadedAtTheEnd } from './third.js';
// some code here to execute at the end
Во всех моих тестах мой код будет выполняться только ПОСЛЕ импорта ‘second.js «и все это относительный импорт.
Есть идеи?
Ответ №1:
Я нашел решение с использованием динамического импорта:
let module = await import('./module.js');
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Dynamic_Imports