Perché è buona prassi mantenere il codice Javascript in file separati?

6

Nello sviluppo web siamo comunemente usati per mantenere il codice Javascript in file separati, ma a volte abbiamo bisogno di questo codice Javascript per manipolare localmente i dati lato server.

Ad esempio, facendo una chiamata Ajax a un lato server URL creato dinamicamente.

Ma alcuni programmatori My colleagues continuano a dire che il semplice Javascript nel file JSP è un segno di codice errato e pratiche sbagliate.

In che misura hanno ragione? Supponendo che quei blocchi di codice non siano riutilizzabili in altre pagine, perché questa pratica è percepita come una cosa negativa?

Modifica:

Grazie per le risposte rapide, mi sto ancora chiedendo come posso gestire il codice Javascript creato dinamicamente (che non può essere memorizzato nella cache, ovviamente). Ad esempio, effettuando una chiamata Ajax con un URL come questo:

url : ${some_url_coming_from_server},

Nel mio caso il codice è enorme e ho dati server ovunque, sto sbagliando?

    
posta TheByeByeMan 21.01.2015 - 14:31
fonte

3 risposte

14

Prima cosa: un codice JS puro in un file separato verrà memorizzato nella cache, riducendo la quantità di dati trasferiti su ogni richiesta.

A meno che tu non abbia un codice JS molto piccolo, specifico per pagina, non dovresti inserirlo.

Altri motivi validi sono già indicati nella risposta di Mike.

Se devi passare alcuni valori dal server al JS, ciò che puoi fare invece di iniettare il codice JSP direttamente nel tuo JS è creare una funzione nel tuo file esterno e chiamarla dalla tua pagina, passando la tua dinamica valori come parametri:

JSP:

<script>
    yourFunction(${param1}, ${param2}...);
</script>

File esterno JS:

function yourFunction (param1, param2...) {
    // do your stuff
}

O ancora meglio, soprattutto se hai una grande quantità di variabili, crea un oggetto da passare come parametro invece di passare un gruppo di parametri:

JSP:

<script>
    var obj = {
        param1: ${param1},
        param2: ${param2}
        ...
    }
    yourFunction(obj)
</script>

File esterno JS:

function yourFunction (obj) {
    // do your stuff using obj.param1, obj.param2...
}
    
risposta data 21.01.2015 - 14:37
fonte
7

Ci sono due ragioni principali:

  1. Separazione delle preoccupazioni: avendo il codice in un file separato è separato dall'HTML e può essere cambiato senza toccare il file HTML. Se utilizzato in più punti, consente a un singolo luogo di apportare le modifiche.

  2. DRY - Non ripeti te stesso Avendolo in un file separato non devi ripetere il codice in diversi file HTML.

risposta data 21.01.2015 - 14:39
fonte
5

La risposta di @Mike e @ X.L.Ant fornisce già alcuni punti eccellenti. Posso fornire un altro punto che non è stato ancora menzionato.

Facilità di modifica & Utilizzo dello strumento - Tutti i tipi di cose funzionano meglio quando inserisci il tuo JS in un file separato. Ecco alcuni esempi:

risposta data 26.01.2015 - 18:59
fonte