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

时间:2019-05-14 17:47:01

标签: javascript c++ webpack module emscripten

到目前为止,还没有任何方法可以将本机JS脚本与从C ++代码(来自Emscripten,chirp,clang-8 +,..)生成的模块组合在一起,从而可以在< em>重用在Node.js 浏览器环境中都可以使用的模块(即不必重新处理它们)?

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

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

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

浏览器

                          test1.js \
                                    \
                                     ===(webpack)==> full.js
                                    /
foo.cpp  ==(emscripten)==>  foo.js /

Node.js:

foo.cpp ==(gcc/N-API)==> foo.node <--(require)-- test1.js

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

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

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

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

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

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

0 个答案:

没有答案