Domanda

Ho un oggetto definito come una funzione, e che ha un sacco di metodi e proprietà in esso, quali sono alcuni modi per modularizzare questo per renderlo più gestibile? E 'possibile inserire funzioni all'interno dell'oggetto in file esterni?

Modifica:

Qualcuno ha detto in una risposta per includere altri file, ma questo avrebbe una pagina HTML poco gestibile, 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>

C'è anche un modo per strutturare il codice in modo è necessario un solo riferimento il file javascript?

È stato utile?

Soluzione

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

e in un altro file js incluso dopo il codice di cui sopra

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

Altri suggerimenti

Si può voler controllare RequireJS . Consente di definire le funzioni, i moduli, le dipendenze ei file JavaScript esterno carico da Javascript (possibilmente asincrona).

è possibile utilizzare uno script lato server per gestire i javascript, con JSMin si potrebbe anche accelerare il processo (se nella cache).

Sto pensando a un somthing script come questo:     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>

Si potrebbe anche solo includere tutti i file js all'interno di una cartella, basta generano la matrice tramite scansione della cartella o qualcosa del genere, penso che si ottiene l'idea!

saluti Nexum

Si potrebbe provare questo:
http://www.cryer.co.uk/resources/javascript/script17_include_js_from_js.htm

... ma migliori pratiche sono per includere solo i file che si desidera nella pagina HTML principale

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top