Hom*_*lli 12 javascript emscripten
我正在使用emscripten为某些库提供Javascript绑定.Emsripten将代码打包到名称空间(global var)中,称为"模块".
我想更改命名,以便我可以使用反映库所用内容的名称,并且还可以防止变量名称冲突,因为我为其他库编写了绑定.
我在文档中找不到任何地方,它显示了如何执行此操作.有谁知道如何更改emscripten使用的默认命名空间?
Mic*_*mza 13
您可以更改EXPORT_NAME默认设置Module.您可以在命令行上执行此操作,作为以下选项emcc:
emcc -s EXPORT_NAME="'MyEmscriptenModule'" <other options...>
Run Code Online (Sandbox Code Playgroud)
然后,无论您指定的名称是什么,模块都将在全局范围内可用:
window.MyEmscriptenModule == {...}
Run Code Online (Sandbox Code Playgroud)
请注意,如果将设置MODULARIZE设置为1,那么设置的任何内容都将作为EXPORT_NAME全局范围中的函数创建,您必须调用该函数来初始化模块.您可以将设置对象传递给此函数,它将返回模块实例:
var myModuleInstance = window.MyEmscriptenModule({noInitialRun: true});
Run Code Online (Sandbox Code Playgroud)
如果你正在使用一些模块加载器,比如RequireJS,并且根本不想向全局命名空间添加任何东西,另一种方法是使用 --pre-js <file>和--post-js <file>选项来包装最终的Javascript,就像这个问题的答案一样在带有模块加载器的Emscripten上.
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |