Ändern des Standardnamensraums 'Module' in emscripten

9

Ich verwende emscripten, um Javascript-Bindungen für einige Bibliotheken bereitzustellen. Emsripten verpackt den Code in einen Namespace (global var), genannt 'Module'.

Ich möchte die Benennung ändern, so dass ich einen Namen verwenden kann, der angibt, wofür die Bibliothek verwendet wird, und auch Kollisionen von Variablennamen weiter unten verhindern, während ich Bindungen für andere Bibliotheken schreibe.

Ich kann nirgendwo in der Dokumentation finden, das zeigt, wie das geht. Weiß jemand, wie ich den Standard-Namespace von emscripten ändern kann?

    
Homunculus Reticulli 10.05.2015, 14:34
quelle

1 Antwort

9

Sie können die Einstellung EXPORT_NAME vom Standardwert ändern von Module . Sie können dies in der Befehlszeile als Optionen für emcc :

tun %Vor%

und dann wird das Modul im globalen Gültigkeitsbereich mit dem von Ihnen angegebenen Namen verfügbar sein:

%Vor%

Beachten Sie, dass Sie die Einstellung MODULARIZE auf festlegen be 1, dann wird alles, was als EXPORT_NAME festgelegt ist, als eine Funktion im globalen Gültigkeitsbereich erstellt, den Sie aufrufen müssen, um das Modul zu initialisieren. Sie können ein Einstellungsobjekt an diese Funktion übergeben und die Modulinstanz zurückgeben:

%Vor%

Wenn Sie ein Modulladeprogramm wie RequireJS verwenden und dem globalen Namespace überhaupt nichts hinzufügen möchten, können Sie alternativ die Optionen --pre-js <file> und --post-js <file> verwenden, um das Finale zu umbrechen Javascript, wie in diese Antwort auf eine Frage zu Emscript mit Modulladern .

    
Michal Charemza 10.05.2015, 15:21
quelle

Tags und Links