2014-02-17 4 views
6

Das ist wahrscheinlich eine lahme Frage, aber wie können Sie dasselbe erreichen wie require() (Node.js) in regulärem JavaScript?Wie benutze ich JS require() ohne Node.js

Einige Hilfe würde wirklich geschätzt werden.

+0

müssen Sie eval und sync ajax verwenden, um die require() - Funktion von node.js neu zu erstellen. Unnötig zu sagen, die meisten Entwickler mögen auch nicht, also verwenden sie weniger praktische asynchrone Importe wie yepnope, requireJS, AMD, etc. – dandavis

Antwort

7

Es gibt verschiedene Dienste, mit denen Sie dies tun können.

Am beliebtesten ist Browserify.

Im Grunde geht es darum, die Datei durch den Syntaxbaum zu lesen und in einen ähnlichen Stil wie RequireJS umzuwandeln.

Beachten Sie, dass dies einen zusätzlichen Kompilierungsschritt erfordert. (Wir werden schließlich Module in ES6 bekommen aber so ist es, dass :))

+0

2017 - am populärsten ist webpack –

4

http://requirejs.org/docs/start.html

Ein Modullader genannt RequireJS existiert für In-Browser-Nutzung ohne den Einsatz von Node.js oder Rhino.

Um es nutzen Sie das Skript und fügen ihn in Ihre Seite herunterladen und speichern

<!DOCTYPE html> 
<html> 
    <head> 
     <title>My Sample Project</title> 
     <!-- data-main attribute tells require.js to load 
      scripts/main.js after require.js loads. --> 
     <script data-main="scripts/main" src="scripts/require.js"></script> 
    </head> 
    <body> 
     <h1>My Sample Project</h1> 
    </body> 
</html> 

Die Daten-Haupt-Attribut zu Ihrem Haupt-Skript zeigen, wo Sie den Rest Ihrer Skripte laden können:

require(["helper/util"], function(util) { 
    //This function is called when scripts/helper/util.js is loaded. 
    //If util.js calls define(), then this function is not fired until 
    //util's dependencies have loaded, and the util argument will hold 
    //the module value for "helper/util". 
}); 

Überprüfen Sie die Dokumente unter http://requirejs.org für weitere Informationen.