2015-11-14 52 views
5

Dato che l'uguaglianza implica qualche minificazione nel processo, ha ancora senso fare entrambe le cose minime e brutte? Se sì, dovresti prima minificare o rovinare? È sufficiente fare solo l'ugolata? Il codice sarà più offuscato se entrambi saranno fatti?Ha senso fare entrambe le cose minify e uglify?

+0

Possibile duplicato di [grunt - qual è la differenza tra concat e uglify e minify] (http://stackoverflow.com/questions/19694448/grunt-whats-the-difference-between-concat-and-uglify-and- minify) – developer

+0

Questa domanda non risponde alla mia domanda. Non spiega se abbia senso fare entrambe le cose. – user781486

+1

C'è una risposta che dice: minifying sta solo rimuovendo spazi bianchi non necessari e token ridondanti/opzionali come curlys e punto e virgola, e può essere invertito usando un linter l'uglificazione è l'atto di trasformare il codice in una forma "illeggibile", che è, rinominando le variabili/funzioni per nascondere l'intento originale ... è anche irreversibile. che significa che sono due cose diverse – developer

risposta

7

Non c'è una vera distinzione tra i due. Perfino Uglify si autodefinisce un minical toolkit.

La distinzione potrebbe essere più pertinente quando si confronta la minificazione JS con la minificazione CSS: la minificazione CSS comporta solo la rimozione di spazi bianchi - il codice originale rimane intatto.

Con JS è possibile non solo rimuovere spazi bianchi, ma anche effettuare trasformazioni nel codice, come il troncamento di nomi di variabili in caratteri singoli.

Minimizzare JavaScript non solo rende la sorgente più piccola, ma rende anche il codice meno leggibile o lo offusca. Ma non operare nel presupposto che la minificazione o l'uguaglianza, o qualsiasi altra cosa tu voglia chiamarla, sia una misura di sicurezza. Non è crittografia. Il codice è più difficile da leggere da leggere, ma non impossibile da leggere e, sebbene non sia in genere possibile restituire il codice minificato alla sua forma originale, è possibile "abbellirlo" e renderlo più leggibile.

Non ha senso sia minificare che rendere più agevole perché la maggior parte dei minificatori rimuove sia gli spazi bianchi che i caratteri non necessari, oltre a offuscare il codice. Tutto quello che stai facendo è l'introduzione di un altro passo di costruzione.

3

Minifying elimina solo spazi bianchi non necessari e ridondanti come commenti e punti e virgola. E può essere ripristinato quando necessario.

Uglifying sta trasformando il codice in una forma "illeggibile" modificando nomi di variabili, nomi di funzioni, ecc. Per nascondere il contenuto originale. Una volta usato non c'è modo di reinserirlo.

Alcune librerie come UglifyJS eseguono il minification quando vengono utilizzate rimuovendo parti non necessarie. Ma in generale Uglifying sta rendendo il codice illeggibile.

Ridurre il codice velocizza il caricamento della pagina, rende felici i visitatori e i motori di ricerca ed è anche leggibile. La maggior parte dei browser principali riduce il codice prima dell'esecuzione.