我正在制作一个使用emscripten编译代码的应用。它首先使用一个脚本解析文件,同时页面下载HTML5的Unity播放器编译脚本。
但我希望能够再次使用另一个文件调用解析器。所以我希望能够同时调用这两个脚本。
我使用Module.run()
来调用它们如何避免两个脚本之间发生冲突?
答案 0 :(得分:3)
Emscripten输出是一个平面脚本。这意味着如果它在全局范围内,它将使用全局变量。
要拥有多个脚本,只需将每个脚本放在一个函数中,这样所有变量现在都具有函数局部范围,并且全局范围不会被污染。像这样:
function moduleOne() {
var Module = { }; // add and Module adjustments here, or leave empty
// .. emscripten output for this module //
return Module; // will have exported functions added to it
}
var m1 = moduleOne();
Module
是必要的,因为如果没有定义,emscripten将定义它(全局)。