Nodejs vm2 - как импортировать скрипты

Предположим, у вас есть скрипт A: определяет библиотеку с:

class MathFunctions { add(a, b) => { return a+b; } }

И у вас есть скрипт B: как-то повторно использует MathFunctions:

const mf = import MathFunctions;
console.log(mf.add(2, 2));

И вы хотите выполнить B в контексте VM, импортируя A.

Каков наилучший способ сделать это с ненадежным кодом?

Подобный вопрос здесь: https://github.com/patriksimek/vm2/issues/121

1 ответ

Система импорта узла (const foo = require('foo');) работает, пропуская ваш код через препроцессор, который оборачивает его в функцию и передает в require, module, exports Вы можете повторить этот эффект, запустив свой код также через препроцессор. К счастью, есть много доступных, так как браузеру также не хватает модулей. Так что любой из препроцессоров модуля для браузеров (например, веб-пакет) сделает свое дело.

Так что-то вроде new VM().run(webpack('./moduleB.js'))

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