Grunt- ΠΈ Gulp-ΡΠ°ΡΠΊΠΈ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
#Grunt- ΠΈ Gulp-ΡΠ°ΡΠΊΠΈ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΠΎΠ²Π»Π΅ΡΡΠ½Π½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π½Π° ΠΈΡ ΠΎΡΡΡΠ΅Π½ΠΈΡ ΠΎΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ°ΠΉΡΠΎΠΌ ΠΈ Π΅Π³ΠΎ Π΄ΠΎΡ ΠΎΠ΄Π½ΠΎΡΡΡ. Π ΡΡΠ°ΡΡΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Β«Make The Web FasterΒ» ΠΈΠ· Google ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»Π° Π½Π°Π±ΠΎΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ Π²Π°ΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ Π»ΡΠ³ΠΊΠΈΠΌΠΈ, Π±ΡΡΡΡΡΠΌΠΈ ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π²ΡΠΎΠ΄Π΅ CSS ΠΈ JavaScript, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ CSS Π² ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠΈΠ»Π΅ΠΉ ΠΈ Ρ.Π΄.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π΄Π»Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ PageSpeed Π΄Π»Ρ Apache ΠΈ Nginx Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ· ΡΡΠΈΡ Π·Π°Π΄Π°Ρ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅ΡΠ»ΠΈ ΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Π½Π΅Ρ, ΠΈΠ»ΠΈ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π±ΡΠ΄Π΅Ρ Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ ΡΠ±ΠΎΡΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ , ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Grunt- ΠΈ Gulp-ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°
Yeoman ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π² ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ webapp Π΄Π»Ρ Grunt ΠΈ Gulp ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Yeoman ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ HTML/CSS/JS. ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ, webapp β ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΎΡΠ½ΠΎΠ²Π°, Π° Π½Π°ΡΡΠΎΡΡΠ°Ρ ΡΡΠ°ΡΡΡ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Π‘ΡΠ΅Π΄Π½ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ΅ΠΉΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 1.5 ΠΠ±, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ°. ΠΡ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ Π½Π°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°Π»ΡΠΌΠΈ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ Π±Π°Π»Π°Π½ΡΠ΅ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΡΠΎΡΠΌΠ°ΡΠ° Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΡΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°Π½Π°ΠΌΠΈ ΠΈΠ»ΠΈ
ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.
Grunt
- grunt-contrib-imagemin
- grunt-imageoptim (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ OSX)
ΠΠΎΡΠ΅ΠΌΡ Π΄Π²Π° ΠΏΠ»Π°Π³ΠΈΠ½Π°? ΠΠΊ, Π²ΠΎΡ Π²Π°ΠΌ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π»Ρ Π²Π°Ρ.
Gulp
- gulp-imagemin
ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ Π΅ΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π΄Π»Ρ Gulp, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ImageOptim.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π Π΅Π±ΡΡΠ° ΠΈΠ· Etsy Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 160 KΠ± ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠΊΠ°Π· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° 12%. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ , Ρ ΠΎΡΡ Π±Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΈΡ .
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
<picture>
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠ°ΠΉΡ Ρ RWD, Π°Π΄Π°ΠΏΡΠΈΡΡΡΡΠΈΠΉΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΠΌΠΈ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ΄Π°ΡΠ° ΠΈΠ·Π»ΠΈΡΠ½Π΅ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π»ΠΈΡΡΡ Π½Π°
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈ ΡΡΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠ΅
Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠ°Π΄Π°ΡΡ.
ΠΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ
ΠΌΡ ΡΠ°Π΄Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ srcset β ΡΠΎ, ΡΡΠΎ, ΠΊΠ°ΠΊ ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ
ΠΏΠΎΠ»Π½ΠΎΠΌΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° <picture>
.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Grunt-ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Grunt
- grunt-responsive-images β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ
Imager.js, ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ
<picture>
ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠ»ΠΎΠΌ picturefill. - grunt-clowncar
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ grunt-image-resize.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π’ΠΈΠΌΠ° ΠΠ°Π΄Π»Π΅ΠΊΠ° Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ, ΡΡΠΎ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ
ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π΄ΠΎ 72% Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠΊΠ° Π΅ΡΡ ΡΠ°Π½ΠΎ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΠΎΡΡΠΈ, BBC ΠΈ
Guardian ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Imager.js Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΡΠΎΡΡ-Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ SVG ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
SVG ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°Ρ , ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (ΠΌΠ΅ΡΠ°-Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠΊΡΡΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ Ρ.Π΄.). ΠΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅Π·Π²ΡΠ΅Π΄Π½ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΡΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π½Π΅ Π²Π»ΠΈΡΡ Π½Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ.
Grunt
- grunt-svgmin
Gulp
- gulp-svgmin
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΏΡΠ°ΠΉΡΠΎΠ²
Grunt
- grunt-spritesmith
Gulp
- gulp-sprite
ΠΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² WebP
WebP ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π²Π΅Π±Π° Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ ΠΈ Π±Π΅Π·. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ WebP ΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ Π½Π° 26% ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ PNG ΠΈ ΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ Π½Π° 25-34% ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ JPEG. ΠΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΠΎ ΠΈ, ΠΊ ΡΡΠ°ΡΡΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Grunt- ΠΈ Gulp-ΠΏΠ»Π°Π³ΠΈΠ½Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ WebP.
Grunt
- grunt-webp
Gulp
- gulp-webp
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π’Π΅ΡΡ, ΠΏΡΠΎΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ WebPageTest, Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π²
ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ JPEG Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ WebP ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡ
ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ. Π Chrome Web Store Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ WebP Π΄Π°Π»ΠΎ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ 30%
ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ, ΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ°Π±Π°ΠΉΡ ΡΡΠ°ΡΠΈΠΊΠ° Π² Π΄Π΅Π½Ρ.
Π‘Π±ΠΎΡΠΊΠ° SVG ΡΠΏΡΠ°ΠΉΡΠΎΠ² Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ²
Grunt
- grunticon
Gulp
- gulp-svgmin
ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Data URI ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠ°Π»ΠΎ Π°Π½ΡΠΈ-ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠΌ, Π²Π»Π΅ΠΊΡΡΠΈΠΌ Π·Π° ΡΠΎΠ±ΠΎΠΉ Π½ΠΈΠ·ΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ .
ΠΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ CSS
ΠΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΡΡΡΠΎΠΊ, ΠΎΡΡΡΡΠΏΡ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ Π½ΡΠΆΠ½Ρ Π² ΡΠ΅Π»ΠΈΠ·Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. Π‘ΠΆΠ°ΡΠΈΠ΅ HTML-, CSS- ΠΈ JS-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΠ°ΡΡΠΈΠ½Π³, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ CSS ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ:
Grunt
- grunt-contrib-cssmin
Gulp
- gulp-cssmin
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ CSS
Π ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ
Π½Π° CSS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
Π²ΡΠΎΠ΄Π΅ Bootstrap, Foundation ΠΈ Ρ.Π΄. Π²Ρ
ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²ΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΡΠΈΠ»Π΅ΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π²Π΅ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π² ΡΠ΅Π»ΠΈΠ·, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ UnCSS Π΄Π»Ρ
ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π²Π°ΡΠΈΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΡΡΠΈΠ»Π΅ΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ Π΄ΠΎ 85% ΠΎΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
Grunt
- grunt-uncss
Gulp
- gulp-uncss
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π²ΠΎΠΏΡΠΎΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ UnCSS ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ CSS ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΡΠΈΠ»ΡΠΌΠΈ, Π²Π½Π΅Π΄ΡΡΠ΅ΠΌΡΠΌΠΈ Π² ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ°Ρ ΠΎΡΠ²Π΅Ρ β Β«Π΄Π°Β». ΠΡΠΎ ΡΡΠ°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ UnCSS ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΠ°ΡΠ΅ Ρ PhantomJS. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡ 10 Π΄ΠΎ 120 ΠΠ± ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΎΠΉ Bootstrap-ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΈ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ UnCSS ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ CSS

Grunt
- grunt-inline-css
Gulp
- gulp-inline-css
ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π΄ΠΈΠ°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Π₯ΠΎΡΡ ΡΡΠΎ ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ PageSpeed, Π½ΠΎ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅Π΄ΠΈΠ°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π΅Π΄ΠΈΠ½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΡ ΡΠΎΡΠ»ΠΈ ΡΡΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ CSS, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅Π΄ΠΈΠ°-Π·Π°ΠΏΡΠΎΡΠΎΠ².
Grunt
- grunt-combine-media-queries
Gulp
- gulp-combine-media-queries
JavaScript
ΠΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΡΠΆΠ°ΡΠΈΠ΅ JS
Grunt
- grunt-contrib-uglify
- grunt-closure-compiler
Gulp
- gulp-uglify
- gulp-closure-compiler
RequireJS (ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ r.js)
Grunt
- grunt-requirejs
Gulp
- RequireJS
ΠΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ HTML
Grunt
- grunt-contrib-htmlmin
Gulp
- gulp-htmlmin
ΠΡΠΎΡΡΠ°Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ
Grunt
- grunt-contrib-concat
Gulp
- gulp-concat
ΠΠ±ΡΠ΅Π΅ ΡΠΆΠ°ΡΠΈΠ΅ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²/ΠΏΠ°ΠΏΠΎΠΊ
Grunt
- grunt-contrib-compress
Gulp
- gulp-zip
Π‘ΠΆΠ°ΡΠΈΠ΅ Zopfli
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΆΠ°ΡΠΈΡ Zopfli β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΆΠ°ΡΠΈΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ,
ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π²ΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° 3-8% ΠΌΠ΅Π½ΡΡΠ΅ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ zlib ΠΏΡΠΈ
ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΠΆΠ°ΡΠΈΡ.
Grunt
- grunt-zopfli
Gulp
- gulp-zopfli
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠ³Π΄Π° Π² Google Fonts Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Zopfli, ΡΡΠΈΡΡΡ ΡΡΠ°Π»ΠΈ Π»Π΅Π³ΡΠ΅ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π½Π° 6%, Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π° 15%. ΠΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ ΠΠ»ΡΠΈ ΠΡΠΈΠ³ΠΎΡΠΈΠΊΠ°, Π΄Π»Ρ Open Sans ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΡΠ»ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 10%, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π° ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΆΠ°ΡΡΠ΅ Ρ Zofli Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ Π΄ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΠ΅ JPG. ΠΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ WebP.
ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ CSS ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΡΠΈ
ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ ΡΠ΅ΡΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ (ΠΏΡΠΈΠΌ. ΠΏΠ΅Ρ.: Π΄ΠΎΡΠ»ΠΎΠ²Π½ΠΎ
Β«above-the-foldΒ» β Π΄ΠΎ ΡΠ³ΠΈΠ±Π°, Ρ.Π΅. ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΊΡΠ°Π½ ΡΡΡΠ°Π½ΠΈΡΡ) β ΡΠΎ Π΅ΡΡΡ ΡΠΎ, ΡΡΠΎ
Π²Π°ΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ²ΠΈΠ΄ΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΡΠ°Π½ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π²Π°ΡΡ
ΡΡΡΠ°Π½ΠΈΡΡ. PageSpeed ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²Π°ΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ mod_pagespeed Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΎ
ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PhantomJS ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ speedreport, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π²Π΅ΡΡ ΡΡΠΊΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΡΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠ» ΠΠΈΠ½Π»ΡΠ½ Π½Π°ΠΏΠΈΡΠ°Π» Π±ΡΠΊΠΌΠ°ΡΠΊΠ»Π΅Ρ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΡΠΈΠ»Π΅ΠΉ Π²Π΅ΡΡ ΡΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ.
Asset pipeline (Π°Π²ΡΠΎ-ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ)
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ AssetGraph.
AssetGraph ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΊΠ°ΠΊ Π½Π° Π½Π°Π±ΠΎΡ Π·Π°Π΄Π°Ρ Π½Π° Π³ΡΠ°ΡΠ°Ρ , Π³Π΄Π΅ ΡΠ·Π»Π°ΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π°Π±ΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² (HTML, CSS, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, JS), Π° ΡΡΠ±ΡΠ°ΠΌΠΈ β ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ (ΡΠ΅Π³ΠΈ img, a, script ΠΈ Ρ.Π΄.).
ΠΡΠ»ΠΈ AssetGraph ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ²ΡΠ·Π°Π½Ρ Π΄ΡΡΠ³
Ρ Π΄ΡΡΠ³ΠΎΠΌ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΎ
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
ΠΈ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
Grunt
- grunt-reduce
Gulp
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Gulp Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ AssetGraph.
Π‘ΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·
ΠΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ Π±Π΅Π½ΡΠΌΠ°ΡΠΊ-ΠΏΠ»Π°Π³ΠΈΠ½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ (Continuous Integration). ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Grunt, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ gulp-grunt Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Grunt-ΡΠ°ΡΠΊΠΎΠ² ΡΠ΅ΡΠ΅Π· Gulp. ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ:
grunt-pagespeed β ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π΅Π½ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π°ΡΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΡΠΊΠΎΠ² PageSpeed ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
grunt-topcoat-telemetry β ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π³Π»Π°Π΄ΠΊΠΎΡΡΠΈ, Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΈΠ· Telemetry, ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡ ΠΎΠΆΡΡ Π½Π° ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² TopCoat.
grunt-wpt β Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΎΡΠΊΠ°ΠΌΠΈ WebPageTest.
grunt-phantomas β Π²ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π·Π°ΠΏΡΠΎΡΡ, Π½Π° ΠΎΡΠ²Π΅ΡΡ, Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ/CSS/JS, Π²ΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ DOM ΠΈ Π΄ΡΡΠ³ΠΎΠ΅.
Framework Optimization
Grunt
- grunt-ngmin
- grunt-react
- grunt-vulcanize β Ρ ΠΎΡΠΎΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ Π²Π΅Π±-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
Gulp
- gulp-ngmin
- gulp-react
- gulp-vulcanize
Misch
- gulp-google-cdn
- gulp-size
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΠΎΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π΅Π³ΠΎ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡ ΠΎΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ΅ΡΡΡΡΠΎΠΌ. Π£Π΄Π΅Π»ΠΈΡΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ β ΡΠ·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΠ³ΠΎΠ΄Ρ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π΄Π°ΡΡ Π²Π°ΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ.
ΠΠΎΡΠ΅ΡΠΈΡΠ΅Π»ΠΈ Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡΠΎΠ² Π±ΡΠ΄ΡΡ ΡΡΠ°ΡΡΠ»ΠΈΠ²Π΅Π΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΠΈΠΊΠ°, Π΄Π° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅, Π±ΡΡΡΡΡΠΉ Π²Π΅Π± β Π»ΡΡΡΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ .
Gulp.js | Loftblog
ΠΡΡΡ
Gulp. js
Gulp.js β ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° JS. Gulp.js ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΈΠ½Π½ΡΠ΅ Π΄Π΅Π»Π° web-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
#06 β Π‘Π±ΠΎΡΠΊΠ° ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°, gulp-useref, gulp-sftp.
ΠΠΎΡ ΠΌΡ ΠΈ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ ΡΠ΅ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΠ° ΠΏΠΎ gulp.js. ΠΠΎΡΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³. Π‘ΠΌΠΎΠΆΠ΅ΡΠ΅? ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΡΡΠΎΡ ΡΡΠΎΠΊ ΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠ°ΠΊΠΎΠΌ Π½Π΅ΠΏΡΠΎΡΡΠΎΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π²ΠΎΠΏΡΠΎΡΠ΅. ΠΠ° Π·Π°Π½ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΏΠ°ΠΏΠΊΡ dist ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠ΅Ρ ΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ [β¦]
#05 β Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°, wiredep, bower.
Π‘Π΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π½Π°Ρ ΡΡΠΎΠΊ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ Π΄Π»Ρ Production ΡΠ°ΠΉΡΠ° ΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎΠΉ Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΡ. ΠΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ bower Π ΡΠ΅Π½ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ bower. Bower β ΡΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π΄Π»Ρ web. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠΌΠ΅ΡΡ [β¦]
#04 β ΠΠΎΡΠ΅ΠΌΡΡ Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π½Π°Ρ ΠΊΡΡΡ ΠΏΠΎ Gulp.js. ΠΠ° ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΡΠΈΠ»ΠΈ, ΡΠΊΡΠΈΠΏΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Ρ.Π΄. ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ/ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½ΡΡΡΡ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌΠΈ, Π° ΡΡΡΠ°Π½ΠΈΡΠΊΠ° ΡΠ°ΠΉΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠ°Π±ΠΎΡΠ° gulp-ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ Π±ΠΎΡΡΠ±Ρ Ρ [β¦]
#03 β gulp-sass, gulp-uncss.
ΠΡΡΡ Π² ΡΠ±ΠΎΡΡΠΈΠΊΠ΅ gulp.js ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ² β ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ Sass. ΠΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ gulp-sass. ΠΠ½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ sass Π² css. ΠΠ° ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π°, Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊ ΠΈ ΡΠ°Π±ΠΎΡΠ°. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ gulp-sass Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΠ»Π΅ΠΉ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. [β¦]
#02 β autoprefixer, livereload, gulp-connect.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² β gulp.js. ΠΠ΅ΡΠΎΡΠΌΠΈ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½Π΅Π³ΠΎ ΡΡΠΎΠΊΠ° ΡΡΠ°Π½ΡΡ Π΅ΡΠ΅ ΡΡΠ΄ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ², Π° ΡΠ°Π±ΠΎΡΡ Π²Π΅ΡΡΡΠ°Π»ΡΡΠΈΠΊΠΎΠ² ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠΉ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΡ Π΄Π»Ρ Π»ΡΠ±ΡΡ Π²Π΅ΡΡΠΈΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ², Ρ.Π΅. ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ [β¦]
#01 β Π Π°Π±ΠΎΡΠ°Π΅ΠΌ Ρ CSS: concat, minify, rename, notify, watch, dest.
ΠΠ»Π°ΠΆΠ΅Π½ΡΡΠ²ΠΎ ΡΠ΅Π»Π° ΡΠΎΡΡΠΎΠΈΡ Π² Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅, Π±Π»Π°ΠΆΠ΅Π½ΡΡΠ²ΠΎ ΡΠΌΠ° β Π² Π·Π½Π°Π½ΠΈΠΈ. Π€Π°Π»Π΅Ρ ΠΠ»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ² Π²ΡΡΡΠ½ΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠΊΡΡΠ½ΡΠΌ Π·Π°Π½ΡΡΠΈΠ΅ΠΌ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΡΡΠΈΠ½Ρ. Π ΡΡΡΠΈΠ½Π° Π² ΡΠ°Π±ΠΎΡΠ΅ Π΅ΡΠ΅ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ Π΄ΠΎΡΡΠ°Π²Π»ΡΠ»Π° ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡΠΈΠ΅ ΠΈ ΡΡΠΊΠΎΡΡΡΡΠΈΠ΅ ΡΡΡΠ΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π ΠΎΠ΄Π½ΠΎΠΉ [β¦]
gulp-uncss-task β ΠΠ½Π°Π»ΠΈΠ· ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² npm
ΠΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΡΠΌΡΡ ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ.
Π ΠΈΡΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π΄Π»Ρ Π²Π°ΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ
ΠΡΠ΅ Π²Π΅ΡΡΠΈΠΈ
ΠΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌ?
Π‘ΠΊΠ°Π½ΠΈΡΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΡΡΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ
ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°ΡΠ½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΎ Snyk Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
ΠΠ°ΡΠ½ΠΈΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ
ΠΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ (4)
Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΡΠ΅Π½Π΄
- ΠΠ²Π΅Π·Π΄Ρ GitHub
- 64
- ΠΠΈΠ»ΠΊΠΈ
- 8
- ΠΠ²ΡΠΎΡΡ
- 4
ΠΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΠΊΠ΅Ρ npm gulp-uncss-task ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅Π³ΠΎ 4 Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π² Π½Π΅Π΄Π΅Π»Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π·Π°Π±ΠΈΠ»ΠΈ Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ gulp-uncss-task Π±ΡΠ΄Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub Π΄Π»Ρ
npm package gulp-uncss-task ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ, ΡΡΠΎ
ΡΠ½ΡΠ»ΡΡ 64 ΡΠ°Π·Π°.
ΠΠ°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΊΠΎΠ»ΡΠ·ΡΡΠΈΠ΅ ΡΡΠ΅Π΄Π½ΠΈΠ΅ Π·Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ 12 ΠΌΠ΅ΡΡΡΠ΅Π², Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΎΡΠ΅ΠΊ Π΄Π°Π½Π½ΡΡ .
Π§Π°ΡΡΠΎΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
ΠΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
- ΠΡΠΊΡΡΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
- 3
- ΠΡΠΊΡΡΡΡΠΉ PR
- 0
- ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ
- 9 Π»Π΅Ρ Π½Π°Π·Π°Π΄
- ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
- 8 Π»Π΅Ρ Π½Π°Π·Π°Π΄
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ gulp-uncss-task Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅
ΠΊΠ°Π΄Π΅Π½ΡΠΈΡ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ
Π²Π΅ΡΡΠΈΠΉ npm, Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ,
ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ, ΡΡΠΎ Π΅Π³ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅
ΠΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΠΉ.
ΠΠ°ΠΆΠ½ΡΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ gulp-uncss-task ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎ Π½Π΅ Π²ΠΈΠ΄Π΅Π» Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ, Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ npm Π² Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 12 ΠΌΠ΅ΡΡΡΠ΅Π² ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΌΠ°Π»ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π΅Π³ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΡ .
ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ΅ΡΡΡ ΠΌΡ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠ°ΡΡΡ issue Π±ΡΠ» ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub.
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Node.js
- Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½
- ΠΠΎΠ·ΡΠ°ΡΡ
- 9 Π»Π΅Ρ
- ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
- 3 ΠΏΡΡΠΌΡΡ
- ΠΠ΅ΡΡΠΈΠΈ
- 5
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ
- 0 Π
- Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΈ
- 1
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²
- 0
- ΠΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»
- 1
- Π’ΠΈΠΏΡ TS
- ΠΠ΅Ρ
gulp-uncss-task ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ΅Π³Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ
ΠΏΠ°ΠΊΠ΅Ρ Π½ΠΏΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π³ΠΈ.
ΠΏΠ°ΠΊΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΄ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π±ΡΠ΄ΡΡΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΈ, ΠΈΠ»ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ
ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Gulp.js Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° JavaScript β Gulp.js 3.9- ΠΠ ΠΠΠΠΠ£Π’ΠΠ§ΠΠ«Π
Gulp.js 3.9 | Π‘ΡΠ΅Π΄Π½ΠΈΠΉ
- 15 Π²ΠΈΠ΄Π΅ΠΎ | 59ΠΌ 44Ρ
- ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠΎΠΊ
Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Gulp.js! ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Gulp.js, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π² Π°Π½Π°Π»ΠΈΠ·Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° JavaScript, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² CSS.
Π§Π’Π ΠΠ« Π£ΠΠΠΠΠ’ΠΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ JSHint ΠΈ JSCS Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ JavaScript
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Gulp JSHint ΠΈ JSCS Π΄Π»Ρ Π»ΠΈΠ½ΡΠΈΠ½Π³Π° JavaScript ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°
ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°Π΄Π°Ρ JSHint ΠΈ JSCS Π² Gulp
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Gulp concat Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Gulp, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Gulp
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp uglify Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° JavaScript
ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² Gulp
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp SASS Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° CSS
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Π°Π²ΡΠΎΠΏΡΠ΅ΡΠΈΠΊΡΠ΅ΡΠ° Gulp, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² Π² Π²Π°Ρ ΠΊΠΎΠ΄ CSS
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp csslint Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅ CSS
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp uncss Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° CSS
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp csso, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° CSS
ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Gulp Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅ CSS
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Gulp Plumper ΠΈ ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Ρ Π½ΠΈΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅ CSS
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Gulp ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ JavaScript ΠΈ CSS
3 ΠΌ 57 Ρ
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ JSHint ΠΈ JSCS Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ JavaScript.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π2ΠΌ 6Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Gulp JSHint ΠΈ JSCS Π΄Π»Ρ Π»ΠΈΠ½ΡΠΈΠ½Π³Π° JavaScript ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π- ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
3. ΠΠ°Π΄Π°ΡΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JSHint ΠΈ JSCS
4ΠΌ 5Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°Π΄Π°Ρ JSHint ΠΈ JSCS Ρ ΠΏΠΎΠΌΠΎΡΡΡ Gulp.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
4. ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
3 ΠΌ 45 Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp concat Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
5. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Gulp
3 ΠΌ 33 Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Gulp, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Gulp.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
6. ΠΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ JavaScript
2 ΠΌ 50 Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp uglify Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° JavaScript.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
7. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
5 ΠΌ 40 Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² Gulp ΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
8. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° SASS
2 ΠΌ 35 Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp SASS Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° CSS.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
9. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π° AutoPrefixer
4 ΠΌ 26 Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Π°Π²ΡΠΎΠΏΡΠ΅ΡΠΈΠΊΡΠ΅ΡΠ° Gulp ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² Π² Π²Π°Ρ ΠΊΠΎΠ΄ CSS.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
10. ΠΠΈΠ½ΡΠΈΠ½Π³ CSS
4ΠΌ 57Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp csslint Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅ CSS.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
11. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ CSS
5ΠΌ 3Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp uncss Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° CSS.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
12. ΠΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ CSS
3 ΠΌ 37 Ρ
Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Gulp csso Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΠΊΠΎΠ΄Π° CSS.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
13. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ
5ΠΌ 20Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Β«ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ΅Β» Π² Gulp Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅ CSS.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
14. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Gulp Plumber
4ΠΌ 27Ρ
Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Gulp Plumper ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅ CSS.
Π‘ΠΠΠΠΠΠΠ«Π ΠΠΠ‘Π’Π£Π - ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ
15. Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Gulp ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Gulp
3 ΠΌ 23 Ρ
Π ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Gulp API ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ JavaScript ΠΈ CSS.