Node.js рдореИрдиреБрдЕрд▓, рднрд╛рдЧ 4: npm, package.json рдФрд░ package-lock.json рдлрд╝рд╛рдЗрд▓реЗрдВ

рдЖрдЬ рд╣рдо Node.js. рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдЪреМрдерд╛ рднрд╛рдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо package-lock.json рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдФрд░ package-lock.json рдФрд░ package-lock.json рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ package-lock.json ред



[рд╣рдо рдЖрдкрдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ] рдЪрдХреНрд░ рдХреЗ рдЕрдиреНрдп рднрд╛рдЧ
рднрд╛рдЧ 1: рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдЖрд░рдВрдн рдХрд░рдирд╛
рднрд╛рдЧ 2: рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, V8, рдХреБрдЫ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЧреБрд░
рднрд╛рдЧ 3: рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рдЖрд░рдИрдкреАрдПрд▓, рдХрдВрд╕реЛрд▓, рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ
рднрд╛рдЧ 4: npm, package.json рдФрд░ package-lock.json рдлрд╛рдЗрд▓реЗрдВ
рднрд╛рдЧ 5: npm рдФрд░ npx
рднрд╛рдЧ 6: рдИрд╡реЗрдВрдЯ рд▓реВрдк, рдХреЙрд▓ рд╕реНрдЯреИрдХ, рдЯрд╛рдЗрдорд░
рднрд╛рдЧ 7: рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
рднрд╛рдЧ 8: Node.js рдЧрд╛рдЗрдб, рднрд╛рдЧ 8: HTTP рдФрд░ WebSocket рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рднрд╛рдЧ 9: Node.js рдЧрд╛рдЗрдб, рднрд╛рдЧ 9: рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
рднрд╛рдЧ 10: Node.js рдЧрд╛рдЗрдб, рднрд╛рдЧ 10: рдорд╛рдирдХ рдореЙрдбреНрдпреВрд▓, рд╕реНрдЯреНрд░реАрдо, рдбреЗрдЯрд╛рдмреЗрд╕, NODE_ENV
Node.js рдЧрд╛рдЗрдб рдХреА рдкреВрд░реНрдг рдкреАрдбреАрдПрдл

Npm рдореВрд▓ рдмрд╛рддреЗрдВ


Npm (рдиреЛрдб рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░) Node.js рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╣реИред рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рдЕрдм npm рдореЗрдВ рдЖрдзреЗ рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдкреИрдХреЗрдЬ рд╣реИрдВ, рдЬреЛ рдЗрд╕реЗ рдПрдХ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХрд╛ рджреБрдирд┐рдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рднрдВрдбрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ npm рдореЗрдВ рдЖрдк рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, Npm рдХреЛ Node.js рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдЬ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдлреНрд░рдВрдЯ-рдПрдВрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдирдкреАрдПрдо рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реА рдирд╛рдо рдХреА рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

тЦН-рд▓реЛрдбрд┐рдВрдЧ рдкреИрдХреЗрдЬ


npm рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рд╣рдо рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

Depend рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реБрдП


рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ package.json рдлрд╝рд╛рдЗрд▓ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 npm install 

рдпрд╣ рдХрдорд╛рдВрдб рд╕рдм рдХреБрдЫ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдЗрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ node_modules рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦреЗрдВ, рдпрд╣ рдмрдирд╛рддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

тЦН рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдХреЗ рддрд╣рдд


рдПрдХ рдЕрд▓рдЧ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 npm install <package-name> 

рдЖрдк рдЕрдХреНрд╕рд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрддрдиреЗ рд╕рд░рд▓ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреБрдЫ рдЭрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

  • --save рдлреНрд▓реИрдЧ --save рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреИрдХреЗрдЬ рдХреА dependencies рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред --save рдлрд╝рд╛рдЗрд▓, рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИред рдпреЗ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд╡реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрд╕рдХреА рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ (рдПрдирдкреАрдПрдо 5 рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рд░реНрднрд░рддрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛)ред
  • --save-dev рдлреНрд▓реИрдЧ рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕реВрдЪреА рд╡рд╛рд▓реЗ рдЦрдВрдб рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ, рдЬреИрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп, рд▓реЗрдХрд┐рди package.json рдЕрдкрдиреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВ package.json рдлрд╝рд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕реЗ devDependencies рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

тЦН рдкреИрдХ рдЕрдкрдбреЗрдЯ


рдкреИрдХреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 npm update 

рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, npm рдЕрдкрдиреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛, рдФрд░ рдпрджрд┐ рд╡реЗ рдЕрдкрдиреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдкрд╛рддреЗ рд╣реИрдВ рдЬреЛ package.json рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рдЖрдк рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдХреЛ рднреА рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 npm update <package-name> 

рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдкреИрдХреЗрдЬ рд▓реЛрдб рдХрд░рдирд╛


рдорд╛рдирдХ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдирдкреАрдПрдо рдЙрдирдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗрд╡рд▓ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдХреБрдЫ рдмрдбрд╝реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рд╣реА рд╕рдВрдЧрдд рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЧрдИ рдереА, рддреЛ рдпрд╣ рдЙрдирдХреЗ рдХрд╛рдо рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкреИрдХреЗрдЬ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреИрдХреЗрдЬ рдХреА рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИред рдкреИрдХреЗрдЬ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░рд┐рд▓реАрдЬ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ, рдЖрдк рдЗрд╕рдХреЗ рдкреБрд░рд╛рдиреЗ рд▓реЗрдХрд┐рди рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЯреАрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рд╕рднреА рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рднреА рдХреЗрдВрджреНрд░реАрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, package.json рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдХреЗред

рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЕрддреНрдпрдВрдд рдЙрдкрдпреЛрдЧреА рд╣реИред Npm рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╡рд░реНрдЬрдирд┐рдВрдЧ (рд╕реЗрд╡рд░) рдХреЗ рдорд╛рдирдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИред

тЦНRun рд▓рд┐рдкрд┐рдпреЛрдВ


package.json рдлрд╝рд╛рдЗрд▓ рдХрдорд╛рдВрдб (рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 npm <task-name> 

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдЦрдВрдб рдореЗрдВ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

 { "scripts": {   "start-dev": "node lib/server-development",   "start": "node lib/server-production" } } 

рд╡реЗрдмрдкреИрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрдо рд╣реИ:

 { "scripts": {   "watch": "webpack --watch --progress --colors --config webpack.conf.js",   "dev": "webpack --progress --colors --config webpack.conf.js",   "prod": "NODE_ENV=production webpack -p --config webpack.conf.js", } } 

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЗ рд╕рд╛рде, рд▓рдВрдмреЗ рдХрдорд╛рдВрдб рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ:

 $ npm watch $ npm dev $ npm prod 

тЦН Npm рд╕рдВрдХреБрд▓ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ?


рдПрдирдкреАрдПрдо (рдпрд╛ рдпрд╛рд░реНрди ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рджреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: рд╕реНрдерд╛рдиреАрдп рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЬрдм рдЖрдк npm install lodash рддрд░рд╣ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреИрдХреЗрдЬ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд node_modules рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ lodash рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА dependencies рдЕрдиреБрднрд╛рдЧ рдореЗрдВ lodash рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рднреА рдЬреЛрдбрд╝реЗрдЧрд╛ package.json рдЬреЛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИред

рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ -g рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИ:

 npm install -g lodash 

рдРрд╕реА рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ, npm рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрдерд╛рдиреАрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рди рдкрд░ рдкреИрдХреЗрдЬ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпреЗ рдлрд╛рдЗрд▓реЗрдВ рдХрд╣рд╛рдВ рдЬрд╛рддреА рд╣реИрдВ?

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 npm root -g 

MacOS рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдкрд░, рдкреИрдХреЗрдЬ рдлрд╛рдЗрд▓реЗрдВ /usr/local/lib/node_modules рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреА рд╣реИрдВред рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдпрд╣ C:\Users\YOU\AppData\Roaming\npm\node_modules рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП Node.js nvm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдкреИрдХреЗрдЬ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдорд╛рд░реНрдЧ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ nvm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрддреЗ рдкрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ: /Users/flavio/.nvm/versions/node/v8.9.0/lib/node_modules ред

тЦНUse рдФрд░ npm рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдерд╛рдкрд┐рдд рд╕рдВрдХреБрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ


рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдпрд╛ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ node_modules рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, node_modules рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЧрд┐рд░ рд░рд╣реЗ рд╣реИрдВ? рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдиреЗ рд▓реЛрдХрдкреНрд░рд┐рдп lodash рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

 npm install lodash 

рдЗрд╕ рддрд░рд╣ рдХреА рдХрдорд╛рдВрдб node_modules рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕реНрдерд╛рдиреАрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧреАред

рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ require рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ:

 const _ = require('lodash') 

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдкреИрдХреЗрдЬ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╣реИ?

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ node_modules/.bin/ folder рдореЗрдВ node_modules/.bin/ folder рдЬрд╛рдПрдЧреАред

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рддрдВрддреНрд░ рдЧрд╛рдпреЛрдВ рдХреЗ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдХреЙрдорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкреИрдХреЗрдЯ рдореЗрдВ рдХреБрдЫ рдкрд╛рда рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдХрдВрд╕реЛрд▓ рдореЗрдВ, ASCII рдХрд▓рд╛ рдХреА рд╢реИрд▓реА рдореЗрдВ, рдЧрд╛рдп рдХреА рдПрдХ рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреА рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкрд╛рда рдХреЛ "рдЙрдЪреНрдЪрд╛рд░рдг" рдХрд░рддреА рд╣реИред рдЕрдиреНрдп рдкреНрд░рд╛рдгреА рдкрд╛рда рдХреЛ "рдЖрд╡рд╛рдЬрд╝" рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, npm install cowsay рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, npm install cowsay , рдпрд╣, рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде, node_modules рдореЗрдВ node_modules рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЫрд┐рдкреЗ рд╣реБрдП .bin рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЧрд╛рдпреЛрдВ рдХреА рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рд▓рд┐рдЦреЗ рдЬрд╛рдПрдВрдЧреЗред

рдХреИрд╕реЗ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП?

рдмреЗрд╢рдХ, рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ ./node_modules/.bin/cowsay рдЬреИрд╕реЗ рдХреБрдЫ рднреА рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди npx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ, npm рдкреИрдХреЗрдЬ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг, рд╕рдВрд╕реНрдХрд░рдг 5.2 рдХреЗ рдмрд╛рдж рд╕реЗ npm рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЕрд░реНрдерд╛рддреН, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 npx cowsay 

Npx рдкреИрдХреЗрдЬ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЕрдкрдиреЗ рдЖрдк рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред

Package.json рдлрд╝рд╛рдЗрд▓


package.json рдлрд╝рд╛рдЗрд▓ Node.js рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рддрддреНрд╡ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рд╕рд░реНрд╡рд░ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╣реЛ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдиреЗ рдпрд╣ рдлрд╛рдЗрд▓ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рд▓реА рд╣реИред рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЖрдкрдХреЛ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡рд╣ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЕрд╡рд╕рд░ рджреЗрддрд╛ рд╣реИ?

Package.json рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░рд╣ рдХреА рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╣реИред рд╡рд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдХрдИ рд╡рд┐рд╡рд┐рдз рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд░рдЦрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдХреЗрдВрджреНрд░реАрдп рднрдВрдбрд╛рд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ npm рдФрд░ рдпрд╛рд░реНрди рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдирд╛рдо рдФрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦрддреЗ рд╣реИрдВред

тЦН рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛


рдпрд╣рд╛рдБ рдПрдХ рд╕рд╛рдзрд╛рд░рдг package.json рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ package.json рдлрд╝рд╛рдЗрд▓:

 { } 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЦрд╛рд▓реА рд╣реИред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛ рдХреА рдПрдХрдорд╛рддреНрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ JSON рдкреНрд░рд╛рд░реВрдк рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЙрди рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдПрдХ Node.js рдкреИрдХреЗрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк npm рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЗ package.json рдореЗрдВ рдЧреБрдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЛ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг package.json :

 { "name": "test-project" } 

рдпрд╣ name рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдореВрд▓реНрдп рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рд╣реИ рдЬрд┐рд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд┐рдд рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдореИрдВрдиреЗ Vue.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦреЗ рдЧрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрд╡реЗрджрди рд╕реЗ рд▓рд┐рдпрд╛ рд╣реИ:

 { "name": "test-project", "version": "1.0.0", "description": "A Vue.js project", "main": "src/main.js", "private": true, "scripts": {   "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",   "start": "npm run dev",   "unit": "jest --config test/unit/jest.conf.js --coverage",   "test": "npm run unit",   "lint": "eslint --ext .js,.vue src test/unit",   "build": "node build/build.js" }, "dependencies": {   "vue": "^2.5.2" }, "devDependencies": {   "autoprefixer": "^7.1.2",   "babel-core": "^6.22.1",   "babel-eslint": "^8.2.1",   "babel-helper-vue-jsx-merge-props": "^2.0.3",   "babel-jest": "^21.0.2",   "babel-loader": "^7.1.1",   "babel-plugin-dynamic-import-node": "^1.2.0",   "babel-plugin-syntax-jsx": "^6.18.0",   "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",   "babel-plugin-transform-runtime": "^6.22.0",   "babel-plugin-transform-vue-jsx": "^3.5.0",   "babel-preset-env": "^1.3.2",   "babel-preset-stage-2": "^6.22.0",   "chalk": "^2.0.1",   "copy-webpack-plugin": "^4.0.1",   "css-loader": "^0.28.0",   "eslint": "^4.15.0",   "eslint-config-airbnb-base": "^11.3.0",   "eslint-friendly-formatter": "^3.0.0",   "eslint-import-resolver-webpack": "^0.8.3",   "eslint-loader": "^1.7.1",   "eslint-plugin-import": "^2.7.0",   "eslint-plugin-vue": "^4.0.0",   "extract-text-webpack-plugin": "^3.0.0",   "file-loader": "^1.1.4",   "friendly-errors-webpack-plugin": "^1.6.1",   "html-webpack-plugin": "^2.30.1",   "jest": "^22.0.4",   "jest-serializer-vue": "^0.3.0",   "node-notifier": "^5.1.2",   "optimize-css-assets-webpack-plugin": "^3.2.0",   "ora": "^1.2.0",   "portfinder": "^1.0.13",   "postcss-import": "^11.0.0",   "postcss-loader": "^2.0.8",   "postcss-url": "^7.2.1",   "rimraf": "^2.6.0",   "semver": "^5.3.0",   "shelljs": "^0.7.6",   "uglifyjs-webpack-plugin": "^1.1.1",   "url-loader": "^0.5.8",   "vue-jest": "^1.0.2",   "vue-loader": "^13.3.0",   "vue-style-loader": "^3.0.1",   "vue-template-compiler": "^2.5.2",   "webpack": "^3.6.0",   "webpack-bundle-analyzer": "^2.9.0",   "webpack-dev-server": "^2.9.1",   "webpack-merge": "^4.1.0" }, "engines": {   "node": ">= 6.0.0",   "npm": ">= 3.0.0" }, "browserslist": [   "> 1%",   "last 2 versions",   "not ie <= 8" ] } 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • name - рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдкреИрдХреЗрдЬ) рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
  • version - рдЖрд╡реЗрджрди рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИред
  • description - рдЖрд╡реЗрджрди рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдгред
  • main - рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
  • private - рдпрджрд┐ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ true , рддреЛ рдпрд╣ рдкреИрдХреЗрдЬ рдХреЛ рдЧрд▓рддреА рд╕реЗ npm рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред
  • scripts - Node.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • dependencies - рдЗрд╕рдореЗрдВ npm рд╕рдВрдХреБрд▓ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЖрд╡реЗрджрди рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
  • devDependencies - рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ devDependencies рдкреИрдХреЗрдЬреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рддрдм рдирд╣реАрдВ рдЬрдм рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  • engines - Node.js рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рддрд╛ рд╣реИред
  • рдмреНрд░рд╛рдЙрдЬрд╝рд░рд▓рд┐рд╕реНрдЯ - рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреА рд╕реВрдЪреА (рдФрд░ рдЙрдирдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ) рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрди рд╕рднреА рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛ рддреЛ рдПрдирдкреАрдПрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреИрдХреЗрдЬ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рд╣рд╛рдпрдХ рд╕рд╛рдордЧреНрд░реА


рдЪрд▓реЛ рдЙрди рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ package.json рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред package.json ред рдпрд╣рд╛рдВ рд╣рдо "рдкреИрдХреЗрдЬ" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рд╕реНрдерд╛рдиреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣реА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред

рдЬрд┐рди рдЧреБрдгреЛрдВ рдХрд╛ рд╣рдо рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ npm рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рдорд╛рди npm рдЬреИрд╕реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдирд╛рдо рд╕рдВрдкрддреНрддрд┐


name рд╕рдВрдкрддреНрддрд┐ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ:

 "name": "test-project" 

рдирд╛рдо 214 рд╡рд░реНрдгреЛрдВ рд╕реЗ рдЫреЛрдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░реЛрдВ, рд╣рд╛рдЗрдлрд╝рди ( - ) рдФрд░ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ ( _ ) рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдз рдореМрдЬреВрдж рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдХреЛрдИ рдкреИрдХреЗрдЬ npm рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдирд╛рдо рдкреИрдХреЗрдЬ рдкреЗрдЬ рдХреЗ URL рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдиреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ GitHub рдкрд░ рдкреИрдХреЗрдЬ рдХреЛрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдкреИрдХреЗрдЬ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╕рдВрдмрдВрдзрд┐рдд GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдирд╛рдо рд╣реИред

рд▓реЗрдЦрдХ рд╕рдВрдкрддреНрддрд┐


author рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ:

 { "author": "Flavio Copes <flavio@flaviocopes.com> (https://flaviocopes.com)" } 

рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 { "author": {   "name": "Flavio Copes",   "email": "flavio@flaviocopes.com",   "url": "https://flaviocopes.com" } } 

рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдкрддреНрддрд┐


contributors рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рд╣реИ:

 { "contributors": [   "Flavio Copes <flavio@flaviocopes.com> (https://flaviocopes.com)" ] } 

рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИ:

 { "contributors": [   {     "name": "Flavio Copes",     "email": "flavio@flaviocopes.com",     "url": "https://flaviocopes.com"   } ] } 

рдХреАрдбрд╝реЗ рдХреА рд╕рдВрдкрддреНрддрд┐


bugs рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрдЧ рдЯреНрд░реИрдХрд░ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓рд┐рдВрдХ рд╕реЗ рдЧрд┐рдЯрд╣рдм рдПрд░рд░ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкреЗрдЬ рдмрди рдЬрд╛рдПрдЧрд╛:

 { "bugs": "https://github.com/flaviocopes/package/issues" } 

рдореБрдЦрдкреГрд╖реНрда рд╕рдВрдкрддреНрддрд┐


homepage рд╕рдВрдкрддреНрддрд┐ рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдореБрдЦрдкреГрд╖реНрда рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ:

 { "homepage": "https://flaviocopes.com/package" } 

рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдкрддреНрддрд┐


version рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ:

 "version": "1.0.0" 

рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд╢рдмреНрджрд╛рд░реНрде рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╣рдореЗрд╢рд╛ рддреАрди рдЕрдВрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: xxx

рдкрд╣рд▓рд╛ рдирдВрдмрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рджреВрд╕рд░рд╛ рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рддреАрд╕рд░рд╛ рдкреИрдЪ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рдЗрди рдирдВрдмрд░реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд░реНрде рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдкреИрдХреЗрдЬ рдХреА рд░рд┐рд╣рд╛рдИ рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреИрдЪ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдореВрд▓реНрдп рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрдд рд╣реИрдВ, рдлрд┐рд░ рдорд╛рдореВрд▓реА рд╕рдВрд╕реНрдХрд░рдг рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдкреИрдХреЗрдЬ рдХреЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╡реЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рдмрдирд╛рддреЗ рд╣реИрдВред

рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рд╕рдВрдкрддреНрддрд┐


license рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкреИрдХреЗрдЬ license рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ:

 "license": "MIT" 

рдХреАрд╡рд░реНрдб рд╕рдВрдкрддреНрддрд┐


keywords рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреАрд╡рд░реНрдб рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛрддреА рд╣реИ:

 "keywords": [ "email", "machine learning", "ai" ] 

рдХреАрд╡рд░реНрдб рдХрд╛ рд╕рд╣реА рдЪрдпрди рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП, рдЖрдкрдХреЛ рд╕рдореВрд╣ рдкреИрдХреЗрдЬ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдПрдирдкреАрдПрдо рд╕рд╛рдЗрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЬрд▓реНрджреА рд╕реЗ рдЙрдирдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИред

рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ


description рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ:

 "description": "A package to work with strings" 

рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдпрджрд┐ рдЖрдк npm рдореЗрдВ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ npm рд╕рд╛рдЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреИрдХреЗрдЬ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╕рдВрдкрддреНрддрд┐


repository рдкреНрд░реЙрдкрд░реНрдЯреА рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдкреИрдХреЗрдЬ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИ:

 "repository": "github:flaviocopes/testing", 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдп рдореЗрдВ github рдЙрдкрд╕рд░реНрдЧ рд╣реИред Npm рдЗрд╕ рддрд░рд╣ рдХреА рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:

 "repository": "gitlab:flaviocopes/testing", "repository": "bitbucket:flaviocopes/testing", 

рдкреИрдХреЗрдЬ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЛ рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 "repository": { "type": "git", "url": "https://github.com/flaviocopes/testing.git" } 

рдПрдХ рд╣реА рдкреИрдХреЗрдЬ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

 "repository": { "type": "svn", "url": "..." } 

рд╕рдВрдкрддреНрддрд┐ рдореБрдЦреНрдп


main рд╕рдВрдкрддреНрддрд┐ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ:

 "main": "src/main.js" 

рдЬрдм рдкреИрдХреЗрдЬ рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЦреЛрдЬ рдЗрд╕реА рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдирд┐рдЬреА рд╕рдВрдкрддреНрддрд┐


true рд╕реЗрдЯ рдХреА рдЧрдИ private рд╕рдВрдкрддреНрддрд┐ рдкреИрдХреЗрдЬ рдХреЛ рдЧрд▓рддреА рд╕реЗ npm рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИ:

 "private": true 

рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдмрдВрдЯрд╡рд╛рд░рд╛


scripts рдкреНрд░реЙрдкрд░реНрдЯреА рдЙрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗрдЯ рдХрд░рддреА рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ npm рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 "scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev", "unit": "jest --config test/unit/jest.conf.js --coverage", "test": "npm run unit", "lint": "eslint --ext .js,.vue src test/unit", "build": "node build/build.js" } 

рдпреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВред рдХреНрд░рдорд╢рдГ npm run XXXX рдпрд╛ yarn XXXX , рдЬрд╣рд╛рдВ XXXX рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдо рд╣реИ, рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдорд╢рдГ npm рдпрд╛ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 npm run dev 

рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡реЗ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЪрд╛рд╣рд┐рдПред

рдирд┐рд░реНрднрд░рддрд╛ рдЧреБрдг


dependencies рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкреИрдХреЗрдЬ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд npm рд╕рдВрдХреБрд▓ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ:

 "dependencies": { "vue": "^2.5.2" } 

Npm рдпрд╛ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 npm install <PACKAGENAME> yarn add <PACKAGENAME> 

рдпреЗ рдкреИрдХреЗрдЬ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдкреИрдХреЗрдЬ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВред

рдирд┐рд░реНрднрд░рддрд╛ рдЧреБрдг


рд╡рд┐рдХрд╛рд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд devDependencies рдкреИрдХреЗрдЬ рдХреА рд╕реВрдЪреА рдореЗрдВ devDependencies рд╕рдВрдкрддреНрддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИ:

 "devDependencies": { "autoprefixer": "^7.1.2", "babel-core": "^6.22.1" } 

рдпрд╣ рд╕реВрдЪреА dependencies рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдПрдХ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдкреИрдХреЗрдЬ рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬ рдбреЗрд╡рд▓рдкрд░ рдХреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ, рдкреИрдХреЗрдЬ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдореЗрдВ, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреИрдХреЗрдЬ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдЖрддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ npm рдпрд╛ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ:

 npm install --dev <PACKAGENAME> yarn add --dev <PACKAGENAME> 

рд╕рдореНрдкрддреНрддрд┐рдпрд╛рдБ рд╕рдВрд▓рдЧреНрди рдХрд░рддрд╛ рд╣реИ


engines рдЧреБрдг рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреИрдХреЗрдЬ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Node.js рдФрд░ рдЕрдиреНрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0", "yarn": "^0.13.0" } 

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реВрдЪреА рд╕рдВрдкрддреНрддрд┐


рдмреНрд░рд╛рдЙрдЬрд╝рд░рд▓рд┐рд╕реНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА browserlist рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рджреЗрддреА рд╣реИ browserlist рдХреМрди рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдФрд░ рдЙрдирдХреЗ рд╕рдВрд╕реНрдХрд░рдг) рдкреИрдХреЗрдЬ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ:

 "browserslist": [ "> 1%", "last 2 versions", "not ie <= 8" ] 

рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреИрдмреЗрд▓, рдСрдЯреЛрдкрд░рд┐рдлрд╝рд┐рд╢рд░ рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдиреНрд╣реЗрдВ рдкреИрдХреЗрдЬ рдореЗрдВ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдкреЙрд▓реАрдлрд╝рд┐рд▓реНрд╕ рдФрд░ рд╕рд╣рд╛рдпрдХ рддрдВрддреНрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪреАрдмрджреНрдз рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реВрдЪреА рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдХрдо рд╕реЗ рдХрдо 1% рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдХрдо рд╕реЗ рдХрдо 2 рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╣ рдбреЗрдЯрд╛ CanIUse.com рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ IE 8 рдФрд░ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде (рдЕрдзрд┐рдХ) рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░рд▓рд┐рд╕реНрдЯ рдкреИрдХреЗрдЬ рдкреЗрдЬ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рд╡рд┐рднрд┐рдиреНрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЯреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ.рдЬреЙрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ softwareрд╕реНрдЯреЛрд░реЗрдЬ


Package.json рдореЗрдВ package.json рдЖрдк рдмреИрдмрд▓ рдпрд╛ ESLint рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдХрд░рдг рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ eslintConfig рдпрд╛ eslintConfig ред рдРрд╕реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд╡рд┐рд╡рд░рдг рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

.рдЕрдмрд╛рдЙрдЯ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╢рдмреНрджрд╛рд░реНрде рд╕рдВрд╕реНрдХрд░рдг


, , , . , ~3.0.0 ^0.13.0 . , , .

, , , , :

  • ~ : ~0.13.0 , - . , 0.13.1 , 0.14.0 тАФ .
  • ^ : ^0.13.0 , , - . , 0.13.1 , 0.14.0 , .
  • * : , , , тАФ .
  • > : , .
  • >= : , .
  • <= : , .
  • < : , .
  • = : .
  • - : , тАФ 2.1.0 - 2.6.2 .
  • || : , . < 2.1 || > 2.6 .

:

  • : , , - .
  • latest : , .

, , -. , 1.0.0 || >=1.1.0 <1.2.0 , 1.0.0 , , 1.1.0 , 1.2.0 .

package-lock.json


package-lock.json npm 5. Node.js-. ? , package.json , .

, , , , .

, package.json . package.json , (- ) .

Git node_modules , . , npm install , , , ~ , -, , , -.

^ . , , , .

, - , npm install . , . , , - , , , ( ) .

package-lock.json npm npm install .

, , ( Composer PHP) .

package-lock.json Git-, , , , , Git .

package-lock.json npm update .

тЦН package-lock.json


package-lock.json , cowsay, npm install cowsay :

 { "requires": true, "lockfileVersion": 1, "dependencies": {   "ansi-regex": {     "version": "3.0.0",     "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3. 0.0.tgz",     "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="   },   "cowsay": {     "version": "1.3.1",     "resolved": "https://registry.npmjs.org/cowsay/-/cowsay-1.3.1.tgz" ,     "integrity": "sha512-3PVFe6FePVtPj1HTeLin9v8WyLl+VmM1l1H/5P+BTTDkM Ajufp+0F9eLjzRnOHzVAYeIYFF5po5NjRrgefnRMQ==",     "requires": {       "get-stdin": "^5.0.1",       "optimist": "~0.6.1",       "string-width": "~2.1.1",       "strip-eof": "^1.0.0"     }   },   "get-stdin": {     "version": "5.0.1",     "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0. 1.tgz",     "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g="   },   "is-fullwidth-code-point": {     "version": "2.0.0",     "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/ is-fullwidth-code-point-2.0.0.tgz",     "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="   },   "minimist": {     "version": "0.0.10",     "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10 .tgz",     "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="   },   "optimist": {     "version": "0.6.1",     "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",     "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",     "requires": {       "minimist": "~0.0.1",       "wordwrap": "~0.0.2"     }   },   "string-width": {     "version": "2.1.1",     "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",     "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",     "requires": {       "is-fullwidth-code-point": "^2.0.0",       "strip-ansi": "^4.0.0"     }   },   "strip-ansi": {     "version": "4.0.0",     "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",     "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",     "requires": {       "ansi-regex": "^3.0.0"     }   },   "strip-eof": {     "version": "1.0.0",     "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",     "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="   },   "wordwrap": {     "version": "0.0.3",     "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",     "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="   } } } 

. cowsay, :

  • get-stdin
  • optimist
  • string-width
  • strip-eof

, , , requires , :

  • ansi-regex
  • is-fullwidth-code-point
  • minimist
  • wordwrap
  • strip-eof

, version , resolved , , integrity , .


npm package.json package-lock.json . npm npx.

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! тАФ npm yarn?

Source: https://habr.com/ru/post/hi423703/


All Articles