Как заставить оператор импорта правильно работать внутри кода, созданного с помощью модуля node:vm?

В нашем проекте у нас есть пользовательский объект, который используется в качестве регистратора.
Итак, нам нужно заменить значение по умолчанию console.
Для этого мы решили использовать модуль vm .
Но мы сталкиваемся с проблемой при использовании импорта внутри кода, созданного с помощью vm.Script:

приложение.js :

      import path from 'path';

console.log(path.resolve('./apps'));

main.js :

      const context = {
  console,
  global: {},
  module: {},
  exports: {},
  require,
};
context.global = global;

const sandbox = vm.createContext(context);
const fileName = './application.js';
const src = await fsp.readFile(fileName, 'utf8');
const script = new vm.Script(`module.exports = () => {\n${src}\n};`);
const execute = script.runInNewContext(sandbox);

execute();

Вывод:
Ошибка: не удается найти путь к модулю

Вопрос :
Как заставить импорт работать правильно внутри файла application.js?

0 ответов

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