Frage

Ich habe ein Objekt bekomme als eine Funktion definiert, und es wird eine Menge von Methoden und Eigenschaften in ihr bekommt, was sind einige Möglichkeiten, dies zu modularisieren es überschaubar mehr zu machen? Es ist möglich, Funktionen innerhalb des Objekts in externe Dateien zu setzen?

Edit:

Jemand in einer Antwort erwähnte andere Dateien enthält, aber dies würde eine unweildy HTML-Seite, IE:

<script type="text/javascript" src="script1.js"></script>
<script type="text/javascript" src="script2.js"></script>
<script type="text/javascript" src="script3.js"></script>
....
<script type="text/javascript" src="script76.js"></script>

Gibt es auch eine Möglichkeit, den Code so zu strukturieren, nur eine Referenz, die die JavaScript-Datei erforderlich ist?

War es hilfreich?

Lösung

var myobj = {
  somefunc: function() { /* function code */ },
  prop: "some string",
  // etc.
};

und in einer anderen js-Datei nach dem obigen Code enthielt

myobj.anotherfunc = function () { /* function code */ };

Andere Tipps

Sie können wollen RequireJS . Damit können Sie definieren Funktionen, Module, Abhängigkeiten und Last externe Javascript-Dateien von Javascript (möglicherweise async).

könnten Sie eine serverseitige Skript verwenden, um Ihren Javascripts Griff, mit JSMin man kann sogar den Prozess beschleunigen (wenn gecached).

Ich denke an ein Skript somthing wie folgt aus:     scripts.php

<?php 

$files = array('script1.js', 'script2.js');
$output = '';

foreach($files as $file){
    $output .= file_get_contents($file);
}

header("Content-type: application/x-javascript");
echo $output;

?>

your html
<script type="text/javascript" src="/script.php"></script>

Sie könnte auch nur alle js Dateien in einem Ordner, erzeugen nur das Array über Ordner scannen oder etwas, ich denke, Sie bekommen die Idee!

Grüße Nexum

Sie könnten versuchen, dieses:
http://www.cryer.co.uk/resources/javascript/script17_include_js_from_js.htm

... aber Best Practices umfassen nur die Dateien, die Sie in der Haupt-HTML-Seite wollen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top