可交换的JS代码以及从C ++生成的模块是否可以在浏览器中使用?

fra*_*ans 8 javascript c++ module emscripten webpack

从今天开始,有任何方法可以将本机JS脚本与从C ++代码(从Emscripten,chirp,clang-8 +等)生成的模块组合在一起,从而可以在重新使用模块的同时交换/修改脚本(即不必重新处理它们)在Node.js 浏览器环境中都可以使用?

这句话很长-让我举个例子:

我想用JavaScript编写一些代码(例如测试代码),该代码使用fooC ++中实现的库(例如)。

我当前的(工作)设置如下所示:

浏览器

                          test1.js \
                                    \
                                     ===(webpack)==> full.js
                                    /
foo.cpp  ==(emscripten)==>  foo.js /
Run Code Online (Sandbox Code Playgroud)

Node.js:

foo.cpp ==(gcc/N-API)==> foo.node <--(require)-- test1.js
Run Code Online (Sandbox Code Playgroud)

浏览器方法的问题在于(AFAIK)每次修改/交换时我都必须重新运行WebPack test1.js才能将更改引入浏览器。

就我而言,运行webpack可能要花费很长时间,并且生成的构件相当大(10MB的倍数)。另外,我想在没有WebPack的相对较小的设备上运行代码,所以我什至每次都必须将这些工件传输到设备上。

因此,我现在想foo在一个地方(例如,在设备上)保留一个包含模块(无论如何看起来)的预处理工件,同时仅交换相对较小的本机JavaScript代码(test1.js)。(想象一下test*.js一个连续执行数百个文件的测试场景)

使用现代的浏览器/工具,ES6,ESM或您可以想到的任何方法-是否有办法为浏览器实现此目的?

奖励点是一个答案,它使我可以编写无需修改即可在Node.js 浏览器中使用的代码。:)

抱歉:这是我什至不想使用WebPack时对此问题的修改,但现在我降低了期望。