2012-11-01 14 views
21

Ho appena finito il mio sito web, che ho iniziato 2 anni fa. Ho sempre provato cose nuove, che a volte includevano l'aggiunta di framework diversi o altri file JS esterni.Rileva file collegati e non utilizzati e JavaScript non usato

Ora non so quali dei file/linee collegate di JS non sono utilizzati. C'è uno strumento in grado di rilevare questi file e linee di codice? Mi farebbe risparmiare un sacco di tempo.

+1

Per il CSS gli strumenti per sviluppatori di webkit di google chrome mostrano gli stili non utilizzati. Per quanto riguarda il javascript sto aspettando una risposta anche –

+0

@BrunoVieira l'OP non sta chiedendo di stili inutilizzati, ma i file javascript inutilizzati che sono seduti nell'albero delle directory non sono ancora referenziati da nessuna di queste pagine. Nota anche che c'è più di una pagina da trattare, ma un'intera app. –

+3

Ecco perché non ho risposto ma ho fatto un commento perché potrebbe essere utile se non fosse per lui per qualcun altro @AleksG –

risposta

12

This risposte offerte Google's Closure Compiler che, nel processo di minimizzazione e concatenazione del codice JavaScript, possono rimuovere "codice morto".

Citando the documentation per i livelli di compilazione:

Compilation con ADVANCED_OPTIMIZATIONS rimuove il codice che è dimostrabilmente irraggiungibile. Ciò è particolarmente utile in combinazione con librerie di grandi dimensioni. Se si utilizzano solo poche funzioni da un file di libreria di grandi dimensioni, il compilatore può rimuovere dal suo output tutto tranne quelle funzioni.

Vedere anche this answer che contiene ulteriori informazioni sul Closure Compiler di Google.

+0

Hey! Grazie per il link. Non ho ancora il tempo di leggere la documentazione, e la mia prima "sporca" prova è stata davvero confusa ... ci provo la domenica ... ti riporto –

+0

E grazie per la tua modifica :) –

+0

@dTDesign tu sei il benvenuto Spero che tutto funzioni. – Whymarrh

0

Per questa risposta, non sono sicuro se sia utile o meno. Che ne dici di provare Sonar. Sonar ha un plugin javascript che può controllare la qualità del tuo codice js ed elencare il codice non usato.

+0

Ho trovato un tizio che parla di questo http://www.jslint.com/lint.html, potrebbe darsi che possa darti una mano. – OQJF

+0

Grazie per la risposta. Ho anche trovato questa domanda su SO. Ma cerca la qualità del codice come: è lo standard più recente, quanti sono i commenti ... Il problema è che analizza anche il codice inutilizzato, ma non lo visualizza se è in uso o meno ... –

0

Sono stato a guardare un compito simile per le ultime settimane io e finito con la seguente powershell query:

PS> Get-ChildItem -Path C:\PathToProject\ -Filter *.as?x -Recurse 
| select-string -pattern "src=""([^""]*.js)""" 
| Select -Expand Matches | Foreach { $_.Groups[1].Value } | select -unique 

Prima seleziona in modo ricorsivo tutti i file aspx e ascx nella nostra directory del progetto , quindi trova i valori degli attributi src che fanno riferimento ai file .js (presumibilmente quelli degli elementi di script) e traccia i valori distinti - voilà, hai un elenco di file .js come indicato nel tuo progetto!

Sarebbe abbastanza semplice regolare la query in modo che si adatti al progetto specifico e alla sua struttura. Assicurati di non eseguire iterazioni su file obsoleti che potrebbero includere riferimenti obsoleti. Conta le discrepanze di markup: potresti aver usato virgolette singole per i valori degli attributi nel passato o lasciato spazi bianchi non necessari attorno al simbolo "uguale" o entrambi? Potresti includere questi file in modo programmatico o asincrono all'interno di un altro file js? ecc. ecc.

+0

Hey! Va bene. Sembra complicato Ci provo domenica ... Ti riporto indietro –

2

Ho avuto questa necessità quindi ho creato uno strumento che rileva JS inutilizzato sul lato browser, non solo dalle origini, quindi può anche testare script di terze parti.

Funziona creando un proxy locale sul computer che intercetta richieste e strumenti JavaScript questi file al volo. Lo strumento è in grado di rilevare quali parti dei file strumentali sono stati utilizzati dalla pagina e quali no.

L'ho reso open source e lo potete trovare qui: https://github.com/gmetais/unusedjs.

Problemi correlati