在同一页面上运行2个Emscripten脚本

时间:2015-01-28 13:10:48

标签: javascript unity3d emscripten

我正在制作一个使用emscripten编译代码的应用。它首先使用一个脚本解析文件,同时页面下载HTML5的Unity播放器编译脚本。

但我希望能够再次使用另一个文件调用解析器。所以我希望能够同时调用这两个脚本。

我使用Module.run()

来调用它们

如何避免两个脚本之间发生冲突?

1 个答案:

答案 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将定义它(全局)。