Attualmente abbiamo un server di sviluppo su cui scriviamo il codice HTML / CSS / JS. Non ottimizziamo il nostro codice utilizzando compressori / minificatori. Quindi il nostro processo di distribuzione dallo sviluppo alla produzione è semplicemente quello di copiare i file sul server di sviluppo sul server di produzione.
Ma ora stiamo progettando di utilizzare compressori / minifiers. Siamo confusi riguardo al processo che dovremmo seguire. Attualmente utilizziamo un singolo file JS chiamato common.js e un singolo file CSS chiamato common.css. Inoltre ora stiamo progettando di usare più file CSS in Dev come reset.css, common.css, ecc. E quando li distribuiremo in produzione li combineremo in un singolo file CSS.
Il processo più semplice che riesco a pensare è:
- Crea una copia esatta dei file di sviluppo sul server di sviluppo. Usa la copia negli ulteriori passaggi.
- Combina tutti i file CSS in un singolo file CSS come common.css. Lo stesso con i file JS. Elimina gli altri file, ad esempio reset.css.
- Comprimi / riduci common.css e common.js a common.min.css e common.min.js. Elimina common.css e common.js.
- In tutti i file HTML rimuovi tutti i tag link e i tag script ad eccezione di common.css e common.js
- In tutti i file HTML, modifica lo script src e link href da common.js a common.min.js e common.css a common.min.css.
- Copia tutti i file sul server di produzione.
- Elimina la copia
Questo sembra noioso per noi. Quale può essere un processo migliore? C'è uno strumento che può fare automaticamente l'ottimizzazione (sopra i passaggi). Sembra che non sarebbe molto difficile scrivere uno script che esegua tutti i passaggi precedenti. Ma mi piacerebbe utilizzare uno strumento esistente piuttosto che svilupparne uno da solo. Vorrei mettere gli sforzi solo se tale strumento non esiste.
Anche quando il test viene generalmente eseguito? Penso che dovrebbe essere eseguito sui file ottimizzati (nel caso in cui i compressori abbiano qualche bug). Ma il processo diventerebbe sempre più noioso, poiché il processo sopra riportato dovrebbe essere ripetuto dopo ogni ciclo Test-Bugfix.