npm ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ°
NPM version: Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ°ΠΊ Ρ Π²Π΅Π΄Ρ ΠΊΡΠ°ΡΠΈΠ²ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° (Π½Π΅Ρ, ΡΡΠΎ Π½Π΅ git hooks).
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΈΡΠ΅ΡΠ΅ Π½Π° JavaScript, ΠΏΡΡΡΡ Π²Π°Ρ Π½Π΅ ΡΠΌΡΡΠ°Π΅Ρ ΡΠ»ΠΎΠ²ΠΎ βNPMβ, ΡΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
ΠΠ΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»Π°Π²Π½Π°Ρ, ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΠ΅Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: ΠΎΡΠΌΠ΅ΡΠ°ΡΡ Π²Π΅ΡΡΠΈΠΈ.
ΠΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ npm version ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠ°ΡΠΈΠ°Π½ΡΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΈ:
ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅ΡΡΠΈΡ Π²ΠΏΠΈΡΠ°ΡΡ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ semver.
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ:
ΠΠΈΠ½ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡ, ΠΌΠ΅Π½Ρ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π° Github Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ Π²Π΅ΡΡΠΈΠΉ, ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠΎ.
ΠΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ ΡΠ΅Π³ΠΈ 1.2.3 Π²ΠΌΠ΅ΡΡΠΎ v1.2.3 (ΡΠ±ΡΠ°ΡΡ v ΠΈΠ· ΡΠ΅Π³Π° Π²Π΅ΡΡΠΈΠΈ):
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Changelog
CHANGELOG.md Π³Π΅Π½Π΅ΡΠΈΡΡΡ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ conventional-changelog.
ΠΠ± ΡΡΠΎΠΌ Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π» 4 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄. Π’Π°ΠΌ Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π» ΡΠ²ΠΎΠΈ ΠΏΠΎΠΈΡΠΊΠΈ, Π·Π΄Π΅ΡΡ ΠΎΠΏΠΈΡΡ, ΠΊ ΡΠ΅ΠΌΡ Ρ ΠΏΡΠΈΡΡΠ».
Π‘ ΡΠ΅Ρ ΠΏΠΎΡ Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π°Π·ΡΠ²Π°Ρ ΠΏΠΎ Angular Conventions. ΠΠ΅ ΠΏΡΠ³Π°ΠΉΡΠ΅ΡΡ βAngularβ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠ°ΠΌ Π½Π΅Ρ.
Π 2 ΡΠ»ΠΎΠ²Π°Ρ ΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΡ :
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ:
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ:
Π― ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡ:
Π’ΠΈΠΏΡ, Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΊΠ°ΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ:
Π ΡΡΡΠ΅ΡΠ΅ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
CHANGELOG.md ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ Π²Π΅ΡΡΠΈΠΈ, ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΄Π° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π΅ΡΡΠΈΠΉ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΆ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ.
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ standard-changelog ΡΠΈΡΡΠΎ ΠΏΠΎΠ΄ Π°Π½Π³ΡΠ»Π°ΡΠΎΠ²ΡΠΊΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ, Ρ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π΅Π³ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ.
ΠΡΠ°ΡΠΈΠ²ΡΠ΅ releases Π½Π° Github
conventional-github-releaser ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½ΠΎ ΠΏΠΈΡΠ΅Ρ Π½Π΅ Π² ΡΠ°ΠΉΠ», Π° Π² ΡΠ΅Π»ΠΈΠ· Π½Π° Github.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Ρ ΠΎΡΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ release ΠΏΡΠΈ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠΎΠ³Π΄Π° Π΄ΡΠΌΠ°Ρ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Node.js, ΡΠ°ΡΡΡ 5: npm ΠΈ npx
Π‘Π΅Π³ΠΎΠ΄Π½Ρ, Π² ΠΏΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ Node.js, ΠΌΡ Π·Π°Π²Π΅ΡΡΠΈΠΌ ΡΠ°Π·Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ npm, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠ½ΡΠΌΡΡ ΡΠ°ΠΊΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠ°ΠΊ Π²ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΈ ΠΎΠ± npx.
ΠΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΠΈ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΠ°ΠΉΠ» package-lock.json ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½ΠΎ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ (ΡΠΎ Π΅ΡΡΡ, ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² package.json ) ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π΅ΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ cowsay, Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈ Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΅ΠΉ, Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ°-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π° Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΠΏΠΈΡΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΡΡΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π°.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ² Π½ΠΎΠΌΠ΅Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠ²Π΅ΠΆΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Π² npm-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
Π ΠΎΡΠ²Π΅Ρ ΠΎΠ½Π° Π²ΡΠ΄Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ npm-ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ· npm ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ:
Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π½Π°ΠΌΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ cowsay, ΠΊΠΎΠΌΠ°Π½Π΄Π° npm install cowsay ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π΅Π³ΠΎ ΡΠ°ΠΌΡΡ ΡΠ²Π΅ΠΆΡΡ Π²Π΅ΡΡΠΈΡ (1.3.1 Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°). ΠΡΠ»ΠΈ ΠΆΠ΅ Π½Π°Π΄ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΡ 1.2.0, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠΌΠ΅ΡΡΡΡ Π² npm, ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ:
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π΅Ρ ΡΠ°Π±ΠΎΡΡ:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎ ΠΈΡ ΡΠ°ΠΌΡΡ ΡΠ²Π΅ΠΆΠΈΡ Π²Π΅ΡΡΠΈΠΉ
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Π½Π΅ΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, npm Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
Π package-lock.json ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΠ΄ΡΡ Π²Π½Π΅ΡΠ΅Π½Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅. ΠΠΎΡ Π΅Π³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, Π²ΡΡΠ»ΠΈ Π»ΠΈ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΠΈΡΡ:
ΠΠ½Π°Π»ΠΈΠ· ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΡ Π΄ΠΎ Π½ΠΎΠ²ΡΡ ΠΌΠ°ΠΆΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Π²ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ npm-check-updates :
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΈΠΌ:
ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
), Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ.
Π Π²ΡΠ±ΠΎΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠΎΠ³Π΄Π° ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ? ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ:
ΠΡΠ°ΠΊ, ΠΊΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΈΠΌΠ΅ΡΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ Node.js-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ·. ΠΠ΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΡΠΎ, Π² ΠΏΠ»Π°Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΊΠΎΡΠΌΠ°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ Ρ ΠΈΡ ΡΡΠ°ΡΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
ΠΡΠ»ΠΈ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΡΡΡΠΎΠΉ ΡΡΠ°ΡΠΎΠΉ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΡΠΎ β ΠΎΡΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠ»Π°ΡΠ° Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ, Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠ°ΠΊΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ npx, Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π²ΡΡ ΠΆΠ΅, Π»ΡΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. Π ΡΠ°ΠΊΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π½Π°ΠΊΠΎΠΌΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
ΠΠΎΠ³Π΄Π° ΠΏΠ°ΠΊΠ΅Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΠΊΠΎΠ³Π΄Π° β ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ?
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΈΠ΄Π° npm install
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΡΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² Ρ ΠΎΠ΄Π΅ Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ. Π ΡΠ°ΠΊΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Webpack, Babel.
Π£ΡΠΈΠ»ΠΈΡΠ° npx
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΌΠ° ΠΌΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, npx, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² npm 5.2. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΠΎΡΡΠ°Π² npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ npx Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° cowsay. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
βΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ npx Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
Node.js-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (ΡΡΠΈΠ»ΠΈΡ) Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π»ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ, ΠΏΡΠΎΡΡΠΎ Π²Π²Π΅Π΄Ρ ΠΈΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ°ΠΊΠΎΠΉ ΡΡΠ΅Π΄Π΅ Π±ΡΠ»ΠΎ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
βΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
Π npx ΠΈΠΌΠ΅Π΅ΡΡΡ Π΅ΡΡ ΠΎΠ΄Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅ΠΉΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π±Π΅Π· ΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΠΎΠ»Π΅Π·Π½ΠΎ ΡΡΠΎ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ cowsay Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
Π£ΡΠΈΠ»ΠΈΡΠ° npx ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π· ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ, Π² ΡΠ°ΠΌΠΊΠ°Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ°ΠΊ:
Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ, Ρ ΠΎΡΡ Β«Π³ΠΎΠ²ΠΎΡΡΡΠ°ΡΒ» ΠΊΠΎΡΠΎΠ²Π°, ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΡΡΡΡ, ΠΎΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·Ρ Π½Π΅ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ, ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
βΠΠ°ΠΏΡΡΠΊ JavaScript-ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Node.js
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ nvm ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² Π²Π΅ΡΡΠΈΠΉ Node.js.
βΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ΄Π°, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎ Π½Π΅ΠΊΠΎΠ΅ΠΌΡ Π°Π΄ΡΠ΅ΡΡ
Npx ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΉ Π² npm. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° Π½Π΅ΠΊΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° (ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° GitHub gist), Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ:
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π΅Π»ΡΠ·Ρ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Npx Π΄Π°ΡΡ Π² ΡΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΈ Π±ΠΎΠ»ΡΡΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ.
βΠΡΠΎΠ³ΠΈ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ npm ΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ npx. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»ΠΎΠΆΠΈΡΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° npm ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΠΈΠ·ΡΡΠΈΡΡ npm β ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Node.js, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ! ΠΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ Π»ΠΈ Π²Ρ npx?
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Node.js, ΡΠ°ΡΡΡ 5: npm ΠΈ npx
Π‘Π΅Π³ΠΎΠ΄Π½Ρ, Π² ΠΏΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ Node.js, ΠΌΡ Π·Π°Π²Π΅ΡΡΠΈΠΌ ΡΠ°Π·Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ npm, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠ½ΡΠΌΡΡ ΡΠ°ΠΊΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠ°ΠΊ Π²ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΈ ΠΎΠ± npx.
ΠΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΠΈ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΠ°ΠΉΠ» package-lock.json ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½ΠΎ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ (ΡΠΎ Π΅ΡΡΡ, ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² package.json ) ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π΅ΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ cowsay, Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈ Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΅ΠΉ, Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ°-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π° Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΠΏΠΈΡΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΡΡΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π°.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ² Π½ΠΎΠΌΠ΅Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠ²Π΅ΠΆΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Π² npm-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
Π ΠΎΡΠ²Π΅Ρ ΠΎΠ½Π° Π²ΡΠ΄Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ npm-ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ· npm ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ:
Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π½Π°ΠΌΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ cowsay, ΠΊΠΎΠΌΠ°Π½Π΄Π° npm install cowsay ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π΅Π³ΠΎ ΡΠ°ΠΌΡΡ ΡΠ²Π΅ΠΆΡΡ Π²Π΅ΡΡΠΈΡ (1.3.1 Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°). ΠΡΠ»ΠΈ ΠΆΠ΅ Π½Π°Π΄ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΡ 1.2.0, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠΌΠ΅ΡΡΡΡ Π² npm, ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ:
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π΅Ρ ΡΠ°Π±ΠΎΡΡ:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎ ΠΈΡ ΡΠ°ΠΌΡΡ ΡΠ²Π΅ΠΆΠΈΡ Π²Π΅ΡΡΠΈΠΉ
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Π½Π΅ΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, npm Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
Π package-lock.json ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΠ΄ΡΡ Π²Π½Π΅ΡΠ΅Π½Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅. ΠΠΎΡ Π΅Π³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, Π²ΡΡΠ»ΠΈ Π»ΠΈ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΠΈΡΡ:
ΠΠ½Π°Π»ΠΈΠ· ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΡ Π΄ΠΎ Π½ΠΎΠ²ΡΡ ΠΌΠ°ΠΆΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Π²ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ npm-check-updates :
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΈΠΌ:
ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
), Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ.
Π Π²ΡΠ±ΠΎΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠΎΠ³Π΄Π° ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ? ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ:
ΠΡΠ°ΠΊ, ΠΊΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΈΠΌΠ΅ΡΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ Node.js-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ·. ΠΠ΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΡΠΎ, Π² ΠΏΠ»Π°Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΊΠΎΡΠΌΠ°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ Ρ ΠΈΡ ΡΡΠ°ΡΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
ΠΡΠ»ΠΈ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΡΡΡΠΎΠΉ ΡΡΠ°ΡΠΎΠΉ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΡΠΎ β ΠΎΡΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠ»Π°ΡΠ° Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ, Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠ°ΠΊΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ npx, Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π²ΡΡ ΠΆΠ΅, Π»ΡΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. Π ΡΠ°ΠΊΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π½Π°ΠΊΠΎΠΌΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
ΠΠΎΠ³Π΄Π° ΠΏΠ°ΠΊΠ΅Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΠΊΠΎΠ³Π΄Π° β ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ?
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΈΠ΄Π° npm install
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΡΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² Ρ ΠΎΠ΄Π΅ Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ. Π ΡΠ°ΠΊΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Webpack, Babel.
Π£ΡΠΈΠ»ΠΈΡΠ° npx
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΌΠ° ΠΌΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, npx, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² npm 5.2. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΠΎΡΡΠ°Π² npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ npx Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° cowsay. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
βΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ npx Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
Node.js-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (ΡΡΠΈΠ»ΠΈΡ) Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π»ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ, ΠΏΡΠΎΡΡΠΎ Π²Π²Π΅Π΄Ρ ΠΈΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ°ΠΊΠΎΠΉ ΡΡΠ΅Π΄Π΅ Π±ΡΠ»ΠΎ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
βΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
Π npx ΠΈΠΌΠ΅Π΅ΡΡΡ Π΅ΡΡ ΠΎΠ΄Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅ΠΉΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π±Π΅Π· ΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΠΎΠ»Π΅Π·Π½ΠΎ ΡΡΠΎ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ cowsay Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
Π£ΡΠΈΠ»ΠΈΡΠ° npx ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π· ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ, Π² ΡΠ°ΠΌΠΊΠ°Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ°ΠΊ:
Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ, Ρ ΠΎΡΡ Β«Π³ΠΎΠ²ΠΎΡΡΡΠ°ΡΒ» ΠΊΠΎΡΠΎΠ²Π°, ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΡΡΡΡ, ΠΎΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·Ρ Π½Π΅ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ, ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
βΠΠ°ΠΏΡΡΠΊ JavaScript-ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Node.js
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ nvm ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² Π²Π΅ΡΡΠΈΠΉ Node.js.
βΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ΄Π°, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎ Π½Π΅ΠΊΠΎΠ΅ΠΌΡ Π°Π΄ΡΠ΅ΡΡ
Npx ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΉ Π² npm. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° Π½Π΅ΠΊΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° (ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° GitHub gist), Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ:
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π΅Π»ΡΠ·Ρ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Npx Π΄Π°ΡΡ Π² ΡΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΈ Π±ΠΎΠ»ΡΡΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ.
βΠΡΠΎΠ³ΠΈ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ npm ΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ npx. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»ΠΎΠΆΠΈΡΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° npm ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΠΈΠ·ΡΡΠΈΡΡ npm β ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Node.js, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ! ΠΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ Π»ΠΈ Π²Ρ npx?
Node.js. Π£ΡΠΈΠ»ΠΈΡΡ npm ΠΈ npx
Π£ΡΠΈΠ»ΠΈΡΠ° npm
Π£ΡΠΈΠ»ΠΈΡΠ° npm β ΡΡΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² Node.js. ΠΠ°ΠΊΠ΅ΡΠΎΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ js-ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ· ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π»ΠΈΠ±ΠΎ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ (ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ) ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΡΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ.
1. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π½Π΅Π΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
2. Π€Π°ΠΉΠ» package-lock.json
3. Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (ΡΠΌ.Π½ΠΈΠΆΠ΅) ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
4. ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· npm-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· npm-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°
5. ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΠΈΠΉ dependencies ΠΈ devDependencies ΡΠ°ΠΉΠ»Π° package.json :
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΠΈΠΈ dependencies ΡΠ°ΠΉΠ»Π° package.json (Π΄Π»Ρ production ΡΠ΅ΡΠ²Π΅ΡΠ°)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ package-name ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ΅ΠΊΡΠΈΡ devDependencies ΡΠ°ΠΉΠ»Π° package.json :
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ package-name ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ΅ΠΊΡΠΈΡ dependencies ΡΠ°ΠΉΠ»Π° package.json :
6. ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ package-name ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ· ΡΠ΅ΠΊΡΠΈΠΈ devDependencies ΡΠ°ΠΉΠ»Π° package.json :
Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ package-name ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ· ΡΠ΅ΠΊΡΠΈΠΈ dependencies ΡΠ°ΠΉΠ»Π° package.json :
7. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ npm Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ (Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°). ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ°ΠΊΠ΅Ρ Π±ΡΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π²ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. ΠΠΎ ΡΡΠΎ Π½Π΅ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² Π΄ΡΡΠ³ΠΎΠΌ.
8. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°
Π’Π°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΈΠ·-Π·Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ β ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
9. ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°):
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, Π²ΡΡΠ»ΠΈ Π»ΠΈ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
10. ΠΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΡ Π΄ΠΎ Π½ΠΎΠ²ΡΡ ΠΌΠ°ΠΆΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Π²ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π½ΡΠΆΠ½ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ (Π±Π΅Π· Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ):
Π£Π±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
11. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ (ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°):
12. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ npm-ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ:
Π£Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠΌΠ΅ΡΡΡΡ Π² npm-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
13. ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠ°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
14. Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π£ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΡΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ install (Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅)
Π£ΡΠΈΠ»ΠΈΡΠ° npx
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΈΠ»ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, create-react-app ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. ΠΠ°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΡΡΠΈΠ»ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠ°ΠΊΠΈΡ ΡΡΠΈΠ»ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ create-react-app Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ React-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ.
ΠΡΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ cowsay Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
Π£ΡΠΈΠ»ΠΈΡΠ° npx ΡΠΊΠ°ΡΠ°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ cowsay ΠΈΠ· npm-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ. Π§ΡΠΎ Π²Π°ΠΆΠ½ΠΎ β Π½Π΅ Π·Π°Π³ΡΡΠ·Π½ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. Π’Π°ΠΊ ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ npx Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
doctor Brain
ΠΌΠΈΡ Π³Π»Π°Π·Π°ΠΌΠΈ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΡΠΌΠΈ npm
ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ npm-ΠΏΠ°ΠΊΠ΅ΡΡ, Π½Π΅ ΠΎΠΏΠ°ΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡ 4 ΠΌΠΈΠ½.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΠΌ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ.
Π‘Π΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΡΠΌΠΈ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΡ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΡΠ°ΠΊ, ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ.
ΠΡΠΈΡΡΡΠΏΠ°Ρ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Nodejs ΠΈΠ»ΠΈ React ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» package.json, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΉΠ» package.json Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ°ΠΊ:
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ package.json ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ version, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π²Π½ΠΎ 1.0.0 Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° express Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π² ΡΠ°ΠΉΠ»Π΅ package.json Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΠ°Π·Π΄Π΅Π» Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
Π’Π°ΠΊ ΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° package-lock.json, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΠΈ URL-Π°Π΄ΡΠ΅Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ .
Π€Π°ΠΉΠ» package-lock.json Π½ΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ ΡΠ΄Π°Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ½ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
Π‘Π΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅ ΠΡ ΡΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ dependencies Π² ΡΠ°ΠΉΠ»Π΅ package.json ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ npm-ΠΏΠ°ΠΊΠ΅Ρ, ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΠΈ.
ΠΠ½ΠΎΡΡ Π² ΠΏΠ°ΠΊΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΡ ΡΠΈΡΡΡ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠ½ΠΎΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠΎΡΡΡ ΡΠΈΡΡΡ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠ»ΠΈ ΠΡ Π²Π½ΠΎΡΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΏΠ°ΡΡΠΈ), ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΠ΅ΡΡΡ ΡΠΈΡΡΡ Π²Π΅ΡΡΠΈΠΈ.
ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π²Π΅ΡΡΠΈΠΈ npm-ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ:
ΠΠ°ΡΠ΅ΡΠΊΠ° (Λ)
Λ : ΡΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ Π² package.json, Ρ ΠΏΠΎΠΌΠΎΡΡΡ npm update, ΠΎΠ±Π½ΠΎΠ²ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΡΠΈ ΠΈ ΠΌΠΈΠ½ΠΎΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π’Π°ΠΊ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° 3.16.1 Π²ΡΠΉΠ΄Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ·, ΠΎΠ½ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 3.17.1, Π° Π΅ΡΠ»ΠΈ Π²ΡΠΉΠ΄Π΅Ρ ΠΏΠ°ΡΡ, ΠΏΠ°ΠΊΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 3.16.3.
ΠΡΠ»ΠΈ, ΠΡ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»Π°ΡΡ ΠΈ ΠΌΠ°ΠΆΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π’ΠΈΠ»ΡΠ΄Π° (Λ)
ΠΡΠ΅Π³Π΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ npm-ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅ express).
ΠΠ°ΠΆΠ°Π² Π½Π° ΡΡΡΠ»ΠΊΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ ΠΊ Π΄Π»ΠΈΠ½Π½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π²ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ· package.json, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ npm outdated
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅Ρ ΡΡΠ·Π²ΠΈΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ npm audit. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π° MacβΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠ°Π²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ sudo npm audit.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΠ·Π²ΠΈΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΡΠ³ΡΠΎΠ·Ρ (low, medium, high) ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ npm audit ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° ΡΠ°Π·Π° Π² ΠΌΠ΅ΡΡΡ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
ΠΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ ΡΡΠ°ΡΡΠΈ Yogesh Chavan βSemantic versioning in npmβ.