Wie kann ein requireJS-Modul dem globalen Namespace korrekt zugeordnet werden?

8

Ich möchte eine Javascript-API als eigenständige Bibliothek verfügbar machen, ohne ihren globalen Namensraum zu verschmutzen. Ich habe den Wrapper erstellt, damit ich nicht die eigenen Anforderungen nach Ссылка verschmutze. Ich habe das, was ich bisher gemacht habe, vereinfacht, aber ich bin mir nicht sicher, ob das der richtige Weg ist oder ob ich es anders machen sollte.

%Vor%

Sites, die diese Bibliothek verwenden, enthalten ein Skript-Tag, das auf den obigen Code verweist, und rufen dann die API mit

auf %Vor%     
Wing Lian 19.03.2012, 21:04
quelle

1 Antwort

0

Ich denke, Sie versuchen, das Problem eines anderen zu antizipieren, indem Sie es zu Ihrem Problem machen, aber ich denke nicht, dass Sie das wirklich vernünftig tun können. Die Seite, auf die Sie verlinken, soll Personen, die bereits über JavaScript-Globals namens "require" oder "define" verfügen, die RequireJS-Globals in etwas anderes umbenennen. Es ist nicht beabsichtigt, zwei separate RequireJS-Instanzen zu erstellen, die Abhängigkeiten unabhängig lösen.

Wenn Sie wirklich versuchen, die Namensraumverschmutzung zu minimieren, sollten Sie genau einen Namen angeben - MyApi. Schreiben Sie eine Monsterschließung, die Ihre private Kopie von RequireJS sowie Ihren API-Code enthält, und lassen Sie nur die Methoden zurück, die Sie in Ihrer API bereitstellen möchten.

Es ist wahrscheinlich viel benutzerfreundlicher / einfacher, Ihre API in zwei Versionen zu liefern, von denen eine ein requireJS-Modul definiert und eine, die keine requireJS-Abhängigkeit hat.

    
Geoff Gerrietts 16.05.2013 03:19
quelle

Tags und Links