2009-04-18 10 views
6

Sagen meine Javascript-Skripte sind nicht in html/xml eingebettet ... Ich möchte eine kleine Bibliothek von Hilfsfunktionen in meinen Skripts verwenden. Offensichtlich muss ein "#include" oder "require" Schlüsselwort in Javascript vorhanden sein, aber ich kann keines finden. Alles, was ich mit Google machen konnte, beruht darauf, dass der Code Teil von html/xml ist, was in meinem Fall nicht hilft. Was soll ich tun?Wie #in JavaScript einbinden?

+0

Was müssen Sie einbetten/benötigen? – James

+0

Eine .js-Datei mit mehreren Funktionen ... Ich möchte diese Funktionen in anderen .js-Dateien verwenden. –

+0

Was ist falsch mit Funktion laden (src) {var s = document.createElement ('Skript'); s.src = src; document.body.appendChild (s);} – James

Antwort

17

Ich glaube, Sie wollen eine Art Abhängigkeits-Tracking-Framework für Ihre Javascript-Dateien schreiben und einen Prozess namens "Lazy-Loading" verwenden, um die benötigte JS-Datei nur dann zu laden, wenn sie benötigt wird.

Check out Using.js, scheint es zu tun, was Sie brauchen.

Sie können auch überprüfen, addModule von YUILoader. Es ermöglicht das Laden von Nicht-YUI-Framework-Komponenten im laufenden Betrieb.

+1

Danke !! Using.js klingt gut. –

+1

müssen Sie Using.js zuerst einschließen! – dfa

+0

Aber warte - fügen diese Bibliotheken nicht einfach Skript-Tags zum Kopf des Dokuments hinzu? - und deshalb nur mit JavaScript arbeiten, das im Kontext eines DOM (d. h. eines Webprojekts) analysiert wird? Der OP macht keine Webarbeit, er benutzt JavaScript für etwas ganz anderes, sagte er. Es gibt keine HTML-Dateien usw. – BrainSlugs83

-2

eine js-Datei in HTML ist:

<script type="text/javascript" src="..."></script> 

es in dem Seitenkopf für Richtigkeit sein sollte.

+2

Sie können das Javascript auch in den Kopf schreiben lassen. –

+4

Danke, aber das meinte ich überhaupt nicht. Ich habe eine .js-Datei, die ich außerhalb von HTML-Code verwendet habe. Es ist nicht für das Web überhaupt. Jetzt möchte ich eine andere .js-Datei in meine importieren. Wie mache ich das? –

+0

Ah, ok dann ist die Antwort nein. Sie müssten den Code direkt in die js einfügen oder eine noddy html-Seite verwenden, um die js-Dateien zusammenzufügen (und die Benutzeroberfläche bereitzustellen). –

2

Es gibt eigentlich keine wirklich #include oder erfordern in Javascript. Sie sollten eigentlich alle Abhängigkeiten selbst behandeln. Ich habe Leute gesehen, die einen Hack machen, wo sie ein Dokument machen. Schreiben Sie, um andere Javascript-Dateien einzuschließen.

-1

im Fall Sie sich interessieren, hier gibt es eine Version enthalten, dass das Dokument-Objekt über sie verwendet ist DOM-Schnittstelle:

function include(aFilename) { 
    var script = document.createElement('script'); 
    script.src = aFilename; 
    script.type = 'text/javascript'; 
    document.getElementsByTagName('head')[0].appendChild(script) 
} 

das Problem ist, dass Sie diese Funktion in allen Quelldatei enthalten muss, die benötigt enthält ...: P: P

+0

aDateiname wird nicht innerhalb des Skripts referenziert. Und wie ist das hilfreich? –

+0

Include sollte einen Rückruf haben .. denn wenn wir in der oben genannten Weise einschließen, wissen wir nie, ob alle erforderlichen Dateien enthalten sind, bevor Sie verwendet werden. Würde lieber die Funktionen YUI.add() und YUI.use() verwenden –

Verwandte Themen