Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ gulp ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½
Gulp Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Gulp, Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½, Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°ΠΉΡΠΎΠ².
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Gulp:
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Gulp Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Gulp Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° gulp Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ / bash.
ΠΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π²Π²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ:
ΠΠΎΡΠΎΡΠΊΠΎ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Gulp Π² ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: Π²ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π»Π°ΡΠΈΠ½ΡΠΊΠΈΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΡΡΡΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° package.json :
ΠΠ»ΠΈ ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ package.json ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:
ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, Π°Π²ΡΠΎΡ ΠΈ Ρ.Π΄.), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° package.json Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ npm init:
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Gulp Π² Π½Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠΈΠΉ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Gulp Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ gulp ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Gulp ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ. Π£ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ (ΡΠ°ΡΠΊΠΈ) Gulp
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» gulpfile.js ΠΈ Π½Π°ΡΠ½ΡΠΌ Π΅Π³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
Π ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΌΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΌΠ΅ΡΠΎΠ΄Ρ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Gulp ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠ°Π»Π΅Π΅, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ (ΠΏΠ»Π°Π³ΠΈΠ½Ρ) Π΄Π»Ρ Gulp.
ΠΠ°Π΄Π°ΡΠ° (ΡΡΠ½ΠΊΡΠΈΡ) Π² Gulp ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠ΅ΠΉΡΡΡ Π·Π°Π΄Π°ΡΡ (ΡΡΠ½ΠΊΡΠΈΡ), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΡΡΠΎΠΊΡ ‘ΠΡΠΈΠ²Π΅Ρ, Gulp!’.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ
ΠΠ°ΠΏΡΡΠΊ Π·Π°Π΄Π°ΡΠΈ Gulp ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΡΠΎ Π±ΡΠ» ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Gulp. ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠ΅ΡΠΎΠ΄Ρ gulp
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
Gulp src / dest
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΡΠ΅ΠΌ ΡΠΆΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ (Π²ΡΠ±ΠΎΡΠΊΠΈ) Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
Π src ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½ css/**.css Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π²ΡΠ΅Ρ css ΡΠ°ΠΉΠ»ΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ /assets/css/ (ΠΈΡΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ°Ρ , Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ).
ΠΡΠΈΠΌΠ΅ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²:
Gulp series / parallel
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ»Π° ΡΠΊΠ°Π·Π°Π½Π° ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π·Π°Π΄Π°Ρ Π² gulp ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ. Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ gulp Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.
Π series ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π΄Π°Ρ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π½Π°ΠΌ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ parallel :
Gulp lastRun()
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π·Π° ΡΡΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Gulp
ΠΡΠΎ Π½Π°ΠΈΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎ ΠΎΠ½ Ρ ΠΎΡΠΎΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π΄Π°Ρ Gulp
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² (Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²)
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠ»ΠΈ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ/ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ/ΡΠ΄Π°Π»ΠΈΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ»Π΅Π΄ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.
Gulp 4
ΠΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π΄Π»Ρ Gulp 4.
Π‘ΡΠ°ΡΡΠΈ ΠΏΡΠΎ Gulp
English | Russian |
---|---|
Gulp | ΠΠ»ΠΎΡΠΎΠΊ |
Dependencies | ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ |
Task | ΠΠ°Π΄Π°ΡΠ° |
Variable | ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ |
Watch | ΠΠ°Π±Π»ΡΠ΄Π°ΡΡ |
Destination | ΠΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
ΠΠ°Π΄Π΅ΡΡΡ, Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ Π΄Π°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΡΠ΅ΠΌΠ° web-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΡΡ ΡΡΠ°ΡΠ΅ΠΉ Π² Telegram.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ gulp ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ gulp ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½
Gulp β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΈΠ½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ gulp ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² frontend ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ:
ΠΡΠ»ΠΈ Π²Ρ Π²Π½Π΅Π΄ΡΠΈΡΠ΅ Π² ΡΠ²ΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π²Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ. Π’Π°ΠΊ ΠΆΠ΅ gulp ΠΎΡΠΊΡΠΎΠ΅Ρ Π²Π°ΠΌ ΠΏΡΡΡ ΠΊ Π½ΠΎΠ²ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΡ Π²Π°Ρ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π½Π°Π½ΠΈΠΉ Π² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Gulp
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Gulp 4 Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°Ρ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Gulp Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ javascript, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Node.js Π½Π° Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎΡΡΠΎ Π·Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡ https://nodejs.org, ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΡΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅.
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π² ΡΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
ΠΡΠ²Π΅ΡΠ°Π΅ΠΌ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅. ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Enter ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π³Ρ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΉΠ» package.json, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°Ρ . ΠΠ°Π»Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ gulp Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ:
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Gulp 4 Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ package.json. Π€Π»Π°Π³ —save-dev ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² package.json Π² ΡΠ°Π·Π΄Π΅Π» devDependencies, ΡΠΎ Π΅ΡΡΡ Π² ΡΠ΅Π»ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΡΠ»Π°Π³ΠΎΠΌ —save, ΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΠ°Π·Π΄Π΅Π» dependencies (Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ).
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ package.json ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, Π° ΠΏΡΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» package.json ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ gulp Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠ·Π΄Π°Π»Π°ΡΡ ΠΏΠ°ΠΏΠΊΠ° node_modules. ΠΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π΅Π»ΡΠ·Ρ.
ΠΠ°Π»Π΅Π΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» gulpfile.js. ΠΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ», Π±Π΅Π· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Gulp ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ. ΠΠΎ ΡΡΡΠΈ Π² Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π»ΡΠ±ΠΎΠΉ javascript ΠΊΠΎΠ΄, Π½ΠΎ gulp β ΡΡΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, ΠΈ ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π§ΡΠΎ Π±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ, ΡΡΠ½ΠΊΡΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ exports. ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ testTask, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΡΠΎΡΠΊΡ test. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΡ Π·Π°Π΄Π°ΡΡ. Π§ΡΠΎ Π±Ρ Gulp Π·Π½Π°Π», ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° done.
Π§ΡΠΎ Π±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Gulp, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π½Π° Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ gulp ΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
ΠΠΎ Π΅ΡΡΡ ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π·Π°ΠΏΡΡΠΊΠ° Π² ΡΠ°ΠΉΠ»Π΅ package.json Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π° scripts:
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π·Π°Π΄Π°ΡΠ° ΡΠ°ΠΊ:
gulp β ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠ°Π·Π΄Π΅Π»Π° scripts ΡΠ°ΠΉΠ»Π° package.json, Π° test β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π ΠΈΡΠΎΠ³Π΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»Π΅ Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ test:
ΠΠ°Π΄Π°ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (gulp default task)
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π² ΡΠ°ΠΉΠ»Π΅ gulpfile.js Π·Π°Π΄Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠΎΡ ΡΠ°ΠΊΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. Π¦Π΅Π»Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ β ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΡΠΊΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ gulp Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°ΡΠΊ test Π½Π° default Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΊΡΠΏΠΎΡΡΠ°:
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΡΠΊ, Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π·Π°Π΄Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Gulp parallel, gulp series
Π Gulp ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ parallel ΠΈ series Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ Π² ΡΠ΅ΠΏΠΎΡΠΊΠΈ. ΠΠ΅ΡΠΎΠ΄ parallel Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π·Π°Π΄Π°ΡΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ΅ΡΠΎΠ΄ series β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ ΠΎΠ΄Π½Π° Π·Π° ΠΎΠ΄Π½ΠΎΠΉ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, Π·Π°Π΄Π°ΡΠΈ a ΠΈ b Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ Π·Π°Π΄Π°Ρ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠ°ΡΠΊΠΈ c ΠΈ d Π² ΠΏΠ°ΡΠ°Π»Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
Gulp src, gulp dist, gulp pipe
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌΡΡ Π΅ΡΠ΅ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΠ½ΡΡΠΈΡΠΌΠΈ. Π Π°Π½Π΅Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠΎ ΡΠΌΡΡΠ» gulp Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΡΠΈΠ½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ β Π²Π·ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ°ΠΉΠ» Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π½ΠΈΠΌ, ΠΈ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ gulp.src(‘source-file’), Π° ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΉ β gulp.dest(‘dest-folder’). ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΌ gulp Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΡΠΊ, ΠΊΠ°ΠΊ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎ ΡΠ°Π½Π΅Π΅. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ gulp ΡΡΠΎ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ test.js. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ pipe Π³ΠΎΠ²ΠΎΡΠΈΠΌ gulp, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΠΏΠ°ΠΏΠΊΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ output. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°ΠΉΠ» test.js Π² ΠΏΠ°ΠΏΠΊΡ output.
ΠΠ΅ΡΠΎΠ΄ pipe β ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ API Π΄Π»Ρ gulp. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ°ΠΊ Π±Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠ°ΡΠΊΠ°. Π§Π΅ΡΠ΅Π· pipe ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΡΠΎΠΈΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΡΡΠ΅ΠΉ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° Π²Ρ ΠΎΠ΄ gulp ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π° Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ²Π°ΡΡ:
./input/*.js β Π²ΡΠ±Π΅ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ js Π² ΠΊΠΎΡΠ½Π΅ ΠΏΠ°ΠΏΠΊΠΈ input
./input/**/*.js β Π²ΡΠ±Π΅ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ js Π² ΠΊΠΎΡΠ½Π΅ ΠΏΠ°ΠΏΠΊΠΈ input ΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ
!./input/test.js β ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠ» test.js ΠΈΠ· Π²ΡΠ±ΠΎΡΠΊΠΈ
./input/*.+(js, css) β Π²ΡΠ±Π΅ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ js ΠΈ css
Π’Π°ΠΊ ΠΆΠ΅, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² gulp ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ:
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ css, Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» test.css.
Gulp ΠΏΠ»Π°Π³ΠΈΠ½Ρ
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» gulp Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π΅Π½. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊ ΡΠ΅Π±Π΅ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ gulp. ΠΠ°ΠΉΡΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅.
Π Π°Π½Π΅Π΅ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» Π² Π΄ΡΡΠ³ΡΡ ΠΏΠ°ΠΏΠΊΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠΌ Π·Π°Π΄Π°ΡΡ: ΠΏΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ gulp-rename. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΡΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½:
ΠΡΠ±ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠ°ΠΊ ΠΈ npm ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ node_modules, ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΠ°ΠΉΠ» package.json. ΠΠ°Π»Π΅Π΅ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π² gulpfile.js, ΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ pipe Π²ΡΠ·Π²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π±Π΅ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» test.js, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π² testNew.js, ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΡ output.
Gulp ΡΠ±ΠΎΡΠΊΠ° Π΄Π»Ρ Π²Π΅ΡΡΡΠΊΠΈ ΡΠ°ΠΉΡΠ°. Π‘ΡΠ°ΡΡΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½
Π ΡΠ°ΠΊ, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Gulp, Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ Π²Π΅ΡΡΡΠΊΠΈ ΡΠ°ΠΉΡΠ°.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π±Π΅ Π·Π°Π΄Π°ΡΡ: ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ Π»ΡΠ±ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. Π‘Π±ΠΎΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ΄ Π·Π°Π΄Π°Ρ: ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ, ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠΆΠ°ΡΠΈΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ ΡΡΠΈΡΡΠΎΠ², ΡΠ±ΠΎΡΠΊΠ° ΡΠΏΡΠ°ΠΉΡΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΡΡΠ΅ΠΉ html Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
Π Π΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ
Gulp ΡΠ±ΠΎΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² Π΄Π²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ : ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ±ΠΎΡΠΊΠ° Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠΈΠ½. Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π°ΠΆΠ½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ΄Π°ΠΊΡΠΈΠ½ ΠΌΡ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠ΅ Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³, ΠΎΡΠΈΡΠ°Π΅ΠΌ ΠΎΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΠ½Π΅Π³ΠΎ, ΡΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠΎΠ΄ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ.
Π ΡΠ°ΠΉΠ»Π΅ package.json Π² ΡΠ°Π·Π΄Π΅Π» scripts Π²Π½ΠΎΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ΄Π°ΠΊΡΠΈΠ½:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ Π²ΡΡΠ΅, Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ΄ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ prod. ΠΠ°Π»Π΅Π΅, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ yargs:
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ Π² gulpfile.js:
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π΅Π², ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ argv.prod Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ undefined, Π° Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΠ΄ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΠΎ true. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ argv.prod ΡΠ°Π²Π½Π° true, ΡΠΎ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π² ΠΏΡΠΎΠ΄ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡΠ»ΠΈ Π½Π΅ true, ΡΠΎ Π΄Π΅Π² ΡΠ΅ΠΆΠΈΠΌ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ:
Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° gulp ΡΠ±ΠΎΡΠΊΠΈ
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ. ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π»ΡΠ±ΠΎΠ³ΠΎ web ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΉ Π²ΠΊΡΡ ΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ°ΠΉΠ»Π°:
ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ, Π½ΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠ°Π·Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠ» .gitignore Π² ΠΊΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ dist ΠΈ node_modules ΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΡΠ΅ΠΉ
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΠΉΠ» projectConfig.json. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ json ΡΠ°ΠΉΠ», Π² Π½Π΅Π³ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΡΡΠ΅ΠΉ:
ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ path, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π΄Π»Ρ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ Π΄Π°Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Π½Π°ΡΠ΅ΠΉ gulp ΡΠ±ΠΎΡΠΊΠΈ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΠ°Π»Π΅Π΅ Π² gulpfile.js ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ ΡΠ°ΠΉΠ» Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ path ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Browser sync gulp. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅
Browser sync β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΡΠ°. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ browsersync Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ:
Π ΡΠ°ΠΉΠ»Π΅ gulpfile.js Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΡΠΊΠ° Π΄Π»Ρ ΠΏΠ»Π°Π³ΠΈΠ½Π° browsersync. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ°ΠΉΠ» gulpfile.js Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ: ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ browserSync ΡΠ΅ΡΠ΅Π· require, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ, ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ°ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ gulp Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π°ΠΌ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
Gulp html
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ html, Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡ nunjucks (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ). ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΡΠΌΠ» ΡΠ°ΠΉΠ»ΠΎΠ²:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ:
ΠΠΈΠΆΠ½ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΠΊ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ».
ΠΠ°Π»Π΅Π΅ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΡΠ΅ΠΉ Π΄Π»Ρ html Π² ΡΠ°ΠΉΠ»Π΅ projectΠ‘onfig.json. Π ΡΠ°Π·Π΄Π΅Π» src Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΠΈ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΡΠΌΠ» ΡΠ°ΠΉΠ»Ρ, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΠ°Π·Π΄Π΅Π» dist.
Π gulpfile.js ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΡΠ΅ΠΉ Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΠΏΡΡΡ ΠΊ html ΡΠ°ΠΉΠ»Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΊΠ°. Π ΡΡΠ΅ΡΠ΅ΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΉ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ ΠΏΠ°ΠΏΠΊΠΈ assets ΠΈ _html. Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²:
Π’Π°ΠΊ ΠΆΠ΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΠΏΠΊΠΈ Ρ Π³ΠΎΡΠΎΠ²ΡΠΌΠΈ html ΡΠ°ΠΉΠ»Π°ΠΌΠΈ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
Π ΡΠ°ΠΊ, ΠΏΡΡΠΈ ΠΌΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ html ΡΠ°ΠΉΠ»ΠΎΠ²:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° Π΄Π»Ρ gulp. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΠΊΠ° ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π±ΡΠ°ΡΠ·Π΅Ρ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±ΡΠΈΠΉ ΠΊΠ°ΡΠΊΠ°Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΡΠ° Π² ΡΠ°ΠΉΠ»Π΅ _default.html:
Π ΡΠ°ΠΉΠ»Π°Ρ _header.html ΠΈ _footer.html Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π²Π΅ΡΡ Π½ΡΡ ΠΈ Π½ΠΈΠΆΠ½ΡΡ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. _header.html:
Π ΡΠ°ΠΉΠ»Π΅ index.html Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ°:
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ title ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠ΅Π³Π° body. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΈ Π² Π±Π»ΠΎΠΊΠ΅ content ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠΈΠ΅ html ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΡ Π² ΡΠ°Π±Π»ΠΎΠ½ ΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΠΌ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΊ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΡΡ ΡΡΡΠ°Π½ΠΈΡΡ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π²ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» index.html. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ html ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ dist.
Gulp watch. ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
Π Gulp ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ watch, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. ΠΡΠ»ΠΈ ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π°Ρ ΡΠ°ΠΉΠ» index.html, ΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° watch ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΠ°ΡΠΊ. Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΡΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠ΅.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ path ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ watch ΠΊΠ°ΠΊ ΠΏΡΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ:
Π Π½Π΅ΠΉ ΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ html:
Π’ΠΎ Π΅ΡΡΡ, ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ src. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ gulp tack Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»Π°Ρ :
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ°ΡΠΊ, Π² Π½Π΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ watch, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ, ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΡΠΊ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ .
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΉ ΡΠ°ΡΠΊ:
ΠΠ΄Π΅ΡΡ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΡΠΊ njk, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»Π°Ρ .
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π΄Π΅ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΊΠ° ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π³Π»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π² ΡΡΠΌΠ» ΡΠ°ΠΉΠ»Π°Ρ ΡΠ°ΠΉΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΆΠ΅ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
Gulp scss. Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠΈΠ»ΡΠΌΠΈ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΄Π»Ρ ΡΡΠΈΠ»Π΅ΠΉ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SASS Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ SCSS. Π ΠΏΠ°ΠΏΠΊΠ΅ src/assets/css ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» app.scss. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΡΡΠΈΠ»Π΅ΠΉ.
Π projectΠ‘onfig.json Π·Π°Π΄Π°Π΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΡΠ΅ΠΉ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΡΡΠΈΠ»Π΅ΠΉ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ src Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ:
Π gulpfile.js Π·Π°Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠΈΠ»Π΅ΠΉ:
Π‘ΡΠ°Π·Ρ ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π½Π°Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ _default.html ΠΈ Π² ΡΠ°Π·Π΄Π΅Π» head Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠ» ΡΡΠΈΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ app.min.css:
ΠΠ°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠΈΠ»ΡΠΌΠΈ:
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΡΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ:
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ gulp ΡΠ°ΡΠΊ Π΄Π»Ρ CSS ΡΡΠΈΠ»Π΅ΠΉ:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠ΄ Π²ΡΡΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° gulpif ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ. ΠΡΠ»ΠΈ Π² Π΄Π΅Π² ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΠΎ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ sourcemaps, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ sass, ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ sourcemaps Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΡΡΠΈΠΊΡ min ΠΊ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°, ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π±ΡΠ°ΡΠ·Π΅Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠ², Π² ΠΏΠ°ΠΏΠΊΠ΅ dist/css ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ°ΠΉΠ» app.min.css. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΡΡΡΠΈΠΊΡ min, ΡΡΠΈΠ»ΠΈ Π² Π½Π΅ΠΌ Π½Π΅ ΡΠΆΠ°ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ sourcemaps Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π ΠΏΡΠΎΠ΄ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π΄Π»Ρ Π±ΠΎΠ΅Π²ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ. ΠΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ SASS Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΡ, Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ ΠΌΠ΅Π΄ΠΈΠ° Π·Π°ΠΏΡΠΎΡΡ (gulp group css media queries). ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π½Π΅ΡΠΆΠ°ΡΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠΈΠ»Π΅ΠΉ Π² ΠΏΠ°ΠΏΠΊΡ dist/css. ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ app.css ΠΈ ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΡΠ°ΠΉΡΡ. Π‘Π΄Π΅Π»Π°Π½ΠΎ ΡΡΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, ΡΡΠΎ Π±Ρ ΡΡΠ΄ΠΎΠΌ ΡΠΎ ΡΠΆΠ°ΡΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ Π±ΡΠ» ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠΈΠ»Π΅ΠΉ. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΡΡΠΈΠ»ΠΈ, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΡΡΠΈΠΊΡ min, ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΠΌ Π±ΡΠ°ΡΠ·Π΅Ρ. Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΉΠ» app.min.css, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π²ΡΠΎΠΏΡΠ΅ΡΠΈΠΊΡΠ΅Ρ, ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² ΡΠ°ΠΉΠ» package.json ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ browserslist Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°:
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ ΡΡΠΈΠ»Π΅ Π² ΡΠ°ΡΠΊΠ΅ watch:
Π’Π°ΠΊ ΠΆΠ΅ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
Gulp ΠΈ webpack. Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ js ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ webpack. Webpack β ΡΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ javascript. ΠΠ½ ΡΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ°ΡΡ Π²Π΅Π»ΠΈΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°Π΄Π°Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΡ , ΡΠ°ΠΊ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ . ΠΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. ΠΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡΠΆΠΈΡΡ webpack ΠΈ gulp. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ gulp ΠΏΠ»Π°Π³ΠΈΠ½ webpack-stream.
Π ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π² ΡΠ°ΠΉΠ»Π΅ projectΠ‘onfig.json Π·Π°Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ². Π Π°Π·Π΄Π΅Π» src:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΠΏΡΡΠΈ src/assets/js/app.js, Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΊΡΠΈΠΏΡΡ Π±ΡΠ΄ΡΡ Π² ΠΏΠ°ΠΏΠΊΡ dist/ assets/js/.
Π gulpfile.js Π·Π°Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ Ρ ΠΏΡΡΡΠΌΠΈ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½:
ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΡΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ webpack:
ΠΠ΄Π΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ source maps Π² dev ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ Π·Π°Π΄Π°Π΅ΠΌ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ°ΠΉΠ» app.js.
ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ babel Π² ΠΏΡΠΎΠ΄ ΡΠ΅ΠΆΠΈΠΌΠ΅:
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΌ ΡΠ°ΡΠΊ:
ΠΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Ρ ΡΠ°ΡΠΊΠΎΠΌ ΡΠΎ ΡΡΠΈΠ»ΡΠΌΠΈ. ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ webpack, ΡΠΆΠΈΠΌΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» Π² ΠΏΡΠΎΠ΄ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΡΡΠΈΠΊΡ min ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΠΌ Π±ΡΠ°ΡΠ·Π΅Ρ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΡ watch:
ΠΠ°Π»Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ°ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» app.js. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ _default.html ΡΠ°ΠΉΠ» app.min.js ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΌΡΡ ΡΠ΅Π³ΠΎΠΌ body:
ΠΠ° ΡΡΠΎΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° gulp Π·Π°Π΄Π°ΡΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°.
Gulp imagemin. Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° imagemin. ΠΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ².
ΠΠ°Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΠΏΡΡΠ΅ΠΉ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π» src Π΄ΠΎΠ±Π°Π²ΠΈΠΌ:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π² gulpfile.js:
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡ svgIcons, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ svg ΡΠΏΡΠ°ΠΉΡΠΎΠ². Π ΡΡΠΎΠΌΡ ΠΌΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΡΠΊ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
Gulp webp. ΠΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² webp ΡΠΎΡΠΌΠ°Ρ
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² webp ΡΠΎΡΠΌΠ°Ρ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΡΠ΅Π»ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ gulp-webp:
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ ΡΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΡΠΊ Π΄Π»Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² webp:
Π ΡΡΠΎΠΌ ΡΠ°ΡΠΊΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΡ Π±Π΅ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ dist/img, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π² webp ΡΠΎΡΠΌΠ°Ρ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π² ΡΡΡ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Π΄Π²Π° ΡΠ°ΡΠΊΠ°: ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΎΠΌ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ Π΄Π²ΡΡ Π·Π°Π΄Π°Ρ:
ΠΠ°Π»Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ°ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅:
Gulp fonts. Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠ΅ β ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΡΠ°ΠΌΡΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ ΡΡΠΈΡΡΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ woff2 ΠΈ woff. ΠΠΌΠ΅Π½Π½ΠΎ ΠΈΡ ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π² CSS ΡΡΠΈΠ»ΡΡ . ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΡΡΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ Π² ΡΠ°ΠΉΠ»Π΅ projectΠ‘onfig.json. Π Π°Π·Π΄Π΅Π» src:
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΡΠ΅ΠΉ ΡΡΠΈΡΡΠΎΠ²:
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π·Π°Π΄Π°ΡΠ° ΡΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΡΠ° Π·Π°Π΄Π°ΡΠ° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΊΡΡΠ½Π°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ gulp. ΠΠΌΠ΅Π½Π½ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ src Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡ ΡΡΠΈΡΡΡ ΡΡΠ°ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΡ Π±ΡΠ΄Π΅ΠΌ Π² ΡΠΎΡΠΌΠ°ΡΡ woff2 ΠΈ woff ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΡΠΈΡΡΠ°ΠΌΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π·Π°Π΄Π°ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ ΡΡΠΈΡΡ ttf Π² woff2 ΠΈ woff. ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π²Π° ΠΏΠ»Π°Π³ΠΈΠ½Π°: gulp-ttf2woff2 ΠΈ gulp-ttf2woff. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΡ :
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ:
ΠΠ°Π»Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΡΠΊΠΈ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡΡΠΎΠ²:
ΠΠ±Π΅Π΄Π½ΡΠ΅ΠΌ ΡΡΠΈ ΡΠ°ΡΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΎΠ΄ΠΈΠ½ Π·Π° ΠΎΠ΄Π½ΠΈΠΌ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ:
Π ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΠΈΡΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ttf ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² woff2 ΠΈ woff, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ΅ ttf ΡΡΠΈΡΡΡ c ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° src ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΈ ΡΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ /src/assets/fonts.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ Ρ ΡΠΎΡΠΌΠ°ΡΠ° otf. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°Ρ otf Π² ttf, ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡ src, Π½Ρ Π° Π΄Π°Π»Π΅Π΅, ΠΊΠ°ΠΊ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΠΌ Π² Π½ΡΠΆΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ fonter. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ:
ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΡΠΊ Π΄Π»Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ:
ΠΠ½ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ fontsConvert:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠ΅ ΡΡΠΈΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ otf ΠΈ ttf ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² Π½ΡΠΆΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ. ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΡΠΈ ΡΡΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ dist:
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
ΠΠ°ΡΡΡΠΎΠ΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π° ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ src/assets/fonts (Π»ΠΈΠ±ΠΎ Π²ΡΡΡΠ½ΡΡ, Π»ΠΈΠ±ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ), Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΡΠΊ font, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΡΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ dist/assets/fonts.
Gulp clean. ΠΡΠΈΡΡΠΊΠ° ΠΏΠ°ΠΏΠΊΠΈ dist
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΈΡΠ°Π΅Ρ ΠΏΠ°ΠΏΠΊΡ dist. ΠΠ°ΠΏΡΡΠΊΠ°ΡΡ ΠΌΡ Π΅Π³ΠΎ Π±ΡΠ΄Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π½Π°ΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ npm ΠΏΠ»Π°Π³ΠΈΠ½ del:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΡΠΊ clean:
Π Π΄Π΅ΡΠΎΠ»ΡΠ½ΠΎΠΌ ΡΠ°ΡΠΊΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΎΡΠΈΡΡΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ΅ΠΌΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ
ΠΠ° ΡΡΠΎΠΌ ΠΏΠΎΠΊΠ° Π²ΡΠ΅. ΠΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ Gulp 4, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΡ ΡΠ±ΠΎΡΠΊΡ Π΄Π»Ρ Π²Π΅ΡΡΡΠΊΠΈ ΡΠ°ΠΉΡΠ°. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΡΡΠ°ΡΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΅Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.