在脚本中更改默认名称空间“模块”

孔雀

我正在使用emscripten为某些库提供Javascript绑定。Emsripten将代码打包到一个名为“模块”的名称空间(全局变量)中。

我想更改命名,以便我可以使用一个名称,该名称可以反映该库的用途,并且在我为其他库编写绑定时,还可以防止变量名冲突。

我在文档中找不到任何地方显示了如何执行此操作。有谁知道我可以如何更改emscripten使用的默认名称空间?

米哈尔·查雷姆扎

您可以更改EXPORT_NAME默认设置Module您可以在命令行中执行以下操作emcc

emcc -s EXPORT_NAME="'MyEmscriptenModule'" <other options...>

然后该模块将以您指定的名称在全局范围内可用:

window.MyEmscriptenModule == {...}

请注意,如果将设置MODULARIZE设置为1,则将EXPORT_NAME在全局范围内创建为函数的任何设置都必须调用以初始化模块。您可以将设置对象传递给此函数,它将返回模块实例:

var myModuleInstance = window.MyEmscriptenModule({noInitialRun: true});

如果您使用的是诸如RequireJS之类的模块加载器,并且根本不想在全局名称空间中添加任何内容,则可以选择使用--pre-js <file>--post-js <file>选项包装最终的Javascript,如对此问题的答案在Emscripten上使用模块加载器

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章