我目前正在使用Emscripten将基本的C函数编译为JavaScript,以在React Native项目中使用。但是,当我Module从React代码内部导入时,Module对象为空。这在React和React Native项目中都会发生。
index.js在我的终端上运行会node ./index.js返回预期结果。
我正在编译ping.c并使用以下命令输出ping.js:
emcc ping.c -o ping.js -s WASM=0 -s EXPORTED_FUNCTIONS='["_pingIt"]'
ping.c:
#include <stdio.h>
#include <emscripten.h>
EMSCRIPTEN_KEEPALIVE
int pingIt() {
return 1;
}
Run Code Online (Sandbox Code Playgroud)
index.js:
let Module = require('./ping.js');
module.exports = Module;
Run Code Online (Sandbox Code Playgroud)
我正在从中导出Module index.js并将其导入到我的React代码中。
// Running in React
console.log(Module); // returns {}
Run Code Online (Sandbox Code Playgroud)
// Running in React
console.log(Module._pingIt()); // should return 1
Run Code Online (Sandbox Code Playgroud)