2016-05-30 16 views
0

Ich habe eine Bibliothek in C++ mit Embind und Emscripten erstellt.Wie packe ich meine Bibliothek in einer selbstausführenden Funktion? (emscripten)

Einige Hand JS-Code geschrieben wird auch in die Bibliothek --pre-js

Die Bibliothek arbeitet mit hinzugefügt. Aber ich möchte den Code neu zu ordnen, um diese:

var MYLIB = (function(){ 
    // ... Original Code ... 
    return Module; 
})(); 

So würde der Code den globalen Namensraum nicht verschmutzen, und der Code minifier könnte besser Optimierungen tun.

Gibt es eingebaute Funktionen in emcc?
Die Bibliothek wird nur in Webbrowsern ausgeführt, nicht in Nodejs.

+0

Verwandte: http://stackoverflow.com/questions/33623682/how-to-use-fs-when-modularize-and -export-name-werden-in-emscripten verwendet – user1906

Antwort

1

Was Sie suchen, sind die MODULARIZE und EXPORT_NAME Optionen. Überprüfen Sie die Dokumentation in settings.js.

aus dieser Datei Zitiert:

// standardmäßig emittieren wir den gesamten Code auf einfache Art und Weise in die Ausgabe
// Datei .js. Das heißt, wenn Sie das in einem Skript-Tag in einer Web-Seite
// Seite laden, wird der globale Bereich verwendet. Mit MODULARIZE setzen wir stattdessen
//
// var EXPORT_NAME = Funktion (Modul) {
// Modul = Modul || {};
// // .. der gesamte ausgegebene Code von emscripten ..
// return Module;
//};
//
// wo EXPORT_NAME ist von der Option des gleichen Namens