На сегодняшний день существует какой-либо способ комбинировать нативные JS-скрипты с модулями, сгенерированными из кода C ++ (из Emscripten, chirp, clang-8 +, ..) таким образом, что позволяет обмениваться / модифицировать скрипт, пока повторное использование модулей (т.е. без необходимости их повторной обработки), которое работает как в браузерной среде Node.js , так и ?
Это было длинное предложение - позвольте мне датьпример:
Я хочу написать некоторый (скажем, test-) код на JavaScript, который использует библиотеку (скажем, foo
), реализованную на C ++.
Моя текущая (рабочая) настройка выглядит следующим образомэто:
Браузер
test1.js \
\
===(webpack)==> full.js
/
foo.cpp ==(emscripten)==> foo.js /
Node.js:
foo.cpp ==(gcc/N-API)==> foo.node <--(require)-- test1.js
Проблема с подходом браузерачто (AFAIK) мне приходится перезапускать WebPack каждый раз, когда я изменяю / обмениваю test1.js
, чтобы перенести изменения в браузер.
В моем случае выполнение webpack
может занять много времени, и полученные артефакты довольно велики (кратны 10 МБ).Также я хочу запустить код на относительно небольших устройствах, на которых нет WebPack, поэтому мне даже приходится каждый раз передавать эти артефакты на устройства.
Так что теперь я хотел бы сохранить предварительно обработанный артефактсодержащий мой модуль foo
(как бы это ни выглядело) в одном месте (например, на устройстве) при обмене только относительно небольшим собственным кодом JavaScript (test1.js
).(Представьте себе тестовый сценарий с сотнями test*.js
файлов, выполняемых подряд)
С современными браузерами / инструментами, ES6, ESM или любым другим подходом, о котором вы можете подумать - есть ли способ сделать это для браузеров?
Бонусные баллы переходят к ответу, который позволяет мне писать код, который я могу использовать в браузерах Node.js и без изменений ..:)
Мои извинения: этоэто модификация этого вопроса, когда я даже хотел обойтись без WebPack, но теперь я снизил свои ожидания ..