рдЖрдЬ рд╣рдо 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_ENVNode.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
.
:
, , -. ,
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?
