Требовать или импортировать модуль JavaScript из буфера - PullRequest
0 голосов
/ 12 марта 2019

У меня есть файл .zip с некоторыми файлами javascript.Я хотел бы потребовать эти файлы и выполнить их как обычные модули, но они не являются реальными файлами в файловой системе.Я могу получить буфер, представляющий данные внутри этих файлов, и я хотел бы иметь возможность просто «требовать» их, не записывая их в файловую систему, чтобы просто прочитать их снова.Я полагаю, что с eval я могу делать какие-то хитрые вещи, но я думаю, что, возможно, есть что-то более важное.

Решение, которое у меня сейчас есть, записывает файлы и требует их как обычно, но есть сложности вокруг идемпотентностии управление файловой системой, которого я действительно хотел бы избежать, просто «читая» из памяти.Кроме того, решение должно быть переносимым на пользовательские операционные системы.

У меня есть контроль над тем, как целевые файлы javascript экспортируют их содержимое, но я бы хотел как можно ближе придерживаться идиоматического javascript.Если ограничить то, как пользователи экспортируют код только одним синтаксическим типом (например, просто «module.exports = 'foo'» или просто «экспортировать функцию по умолчанию foo () {}»), это упрощает его использование в таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...