2016-06-11 10 views
1

Ich lade eine externe Abhängigkeit, die als AMD-Modul funktioniert, aber es erfordert, wer weiß, wie viele Unterbibliotheken, die nicht auf einem Pfad durch meine Konfiguration konfiguriert sind.make requirejs ignore library

Gibt es eine Möglichkeit, requirejs zu sagen, dass man eine Bibliothek NICHT als Modul laden soll, sondern einfach als normales Skript-Tag.

Beispiel:

library.js:

if (typeof define === "function) { // or how ever they do the optional define stuff 
// do some amd stuff 
} else { 
// set it globally 
} 

normalerweise requirejs wird dies sehen, ob als Script-Tag geladen und ausflippen, wie es gelesen wurde. Ich möchte, dass Requirejs es einfach ignoriert und es global gesetzt wird, damit ich mich nicht um alle Bibliotheken kümmern muss, von denen es abhängt.

Momentan setze ich define auf undefined, bevor ich das Skript aufruft, und setze es zurück, nachdem ich das Skript aufgerufen habe. Das schien es zu beheben ...

Antwort

0

Es klingt wie Sie wollen eine gebündelte Version der Lib, die Sie einschließen. Wenn die Bibliothek die js-Datei nicht zur Verfügung gestellt hat, können Sie Ihre eigene mit Browserify erstellen.

browserify some-library.js -o bundled-some-library.js

Solange Sie die Abhängigkeiten zu der Zeit Sie die lib bündeln installiert haben, dann wird es Sie eine einzelne Datei, die Sie dann als Script-Tag src verwenden können.

+0

funktioniert das mit mehreren AMD-Abhängigkeiten? Auch das Problem ist, wenn ich es als Skript-Tag requirejs macht die Datei, die ich laden kotzen. – dtracers

+0

Ich bin mir nicht sicher, was Sie über mehrere Abhängigkeiten meinen, aber ja, Bündelung Module erlauben ihnen, in einem Skript-Tag zu arbeiten –