Moment: рдкрд▓ рдХрд╛ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдЖрдХрд╛рд░ред рдЬреЗрдПрд╕ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдЕрдЧре░ 2016  ┬╖  26рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moment/moment

рдореИрдВрдиреЗ рдЕрдкрдиреЗ ./node_modules рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдлрд╝рд╛рдЗрд▓-рдЖрдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд▓ред рдЬреЗрдПрд╕ рд╕рдмрд╕реЗ рднрд╛рд░реА рдЧреИрд░-рд╕реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред 2.1MB рдХрд╛рдлреА рд╣реИред рдлрд╝реЛрд▓реНрдбрд░ рдЖрдХрд╛рд░ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

https://gyazo.com/60cb5b6e69c76767c6d001669ff25a2d

рдореЛрдореЗрдВрдЯ.js рдХреЗ рд╕рдВрдХреБрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ npm рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рднреА рд▓реЛрдХреЗрд╢рдВрд╕ рдХреЛ рдбрдмрд▓-рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рд░ рдЖрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдХреЗрд▓реЗ рдЗрд▓рд╛рдХреЗ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХрд╛рдлреА рднрд╛рд░реА рд╣реИрдВред

рдРрд╕реЗ рдореЗрдВ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдкрд▓ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреЗрдПрд╕ рдФрд░ рд╕рдореБрджрд╛рдп рдЗрд╕ рд░рд╛рд╢рд┐ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?!

  • [ ] рдХреНрдпрд╛ ./src рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ npm рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдЫреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?
  • [ ] рдХреНрдпрд╛ ./min рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ npm рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдЫреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?
  • [ ] рдХреНрдпрд╛ ./locales рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ npm рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдкрд▓ рдХреЛ рдиреНрдпреВрдирддрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдо рд╕рд╣рдорддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдиреЛрдб рдРрдк рдореЗрдВ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдЙрд╕реА рддрд░рд╣ рдкреНрд░реАрдорд┐рдпрдо рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реИ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рдорд╛рдирд╕рд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫреЗ рдХрд╛рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

screen shot 2018-08-01 at 11 16 23 am

рдЬрд┐рд╕ рдХреНрд╖рдг рд▓реЛрдЧреЛрдВ рдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдмрдВрдбрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджрд╛ рд╣реИ, рдФрд░ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪреБрдирд╛, moment рдорд░ рдЪреБрдХрд╛ рд╣реИред
рд╣рд▓реНрдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, date-fns рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред

рд╕рднреА 26 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд▓реЛрдЧ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдо рд╕рд╣рдорддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдиреЛрдб рдРрдк рдореЗрдВ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдЙрд╕реА рддрд░рд╣ рдкреНрд░реАрдорд┐рдпрдо рдирд╣реАрдВ рд╣реИ рдЬреИрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реИред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ min рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

image

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдирдкреАрдПрдо рдореЗрдВ moment-with-locales.min.js рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред moment.min.js рдФрд░ locales.min.js рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?

рд╕рд╛рде рд╣реА, min рдлрд╝реЛрд▓реНрдбрд░ ( locale.js рдФрд░ moment-with-locales.js ) рдореЗрдВ рдЧреИрд░-рдиреНрдпреВрдирддрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдиреНрдпреВрдирддрдо рдлрд╝реЛрд▓реНрдбрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдЧрд▓рдд рдирд╛рдо рд╣реИред рдирд┐рд░реНрдорд┐рдд рдПрдХ рдмреЗрд╣рддрд░ рдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рд╣рдо рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ-рдЗрдВрдбреЗрдХреНрд╕ рдЧреНрд░рдВрдЯ рдЯрд╛рд╕реНрдХ рдирд╣реАрдВ рдЪрд▓рд╛рддреЗ, рддрдм рддрдХ рдкрд▓-рдкрд▓-рд▓реЛрдХреЗрд▓ рдФрд░ рд▓реЛрдХреЗрд▓ рдлрд╛рдЗрд▓реЗрдВ рд░рд╣рддреА рд╣реИрдВред

рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдирдкреАрдПрдо рд╕реЗ рдХреНрд╖рдг-рджрд░-рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

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

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ/рд╕рднреА рдПрдирдкреАрдПрдо рдмрд┐рд▓реНрдб рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрдо рд╕реЗ рдХрдо рдХрдЯреМрддреА рдХрд░рддрд╛ рд╣реИ?

рд▓реЙрдирд╛рд╢ рдХрд╛ рдПрдирдкреАрдПрдо рдЗрдВрд╕реНрдЯрд╛рд▓ 1.4 рдПрдордмреА рд╣реИ рдЬрдмрдХрд┐ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ _69 рдХреЗрдмреА_ рд╣реИ
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд▓реЙрд╢ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рд╕реНрд╡рдпрдВ рдХреЗ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреА рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рджреВрд╕рд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓рдЧрднрдЧ 300 рдПрдордмреА рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рджреЗрдЦрддреЗ рд╕рдордп, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкрд▓ рдХреЛ рдереЛрдбрд╝рд╛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред

рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рдШрдЯрдирд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ, рдпрд╣рд╛рдБ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реА рд╣реИрдВ

  • рдЖрд░рдПрдХреНрд╕: 6,6 рдПрдордмреА
  • рдЖрд░рдПрдХреНрд╕рдЬреЗрдПрд╕: 3,3 рдПрдордмреА
  • @angular : 10,8 рдПрдордмреА
  • рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп: 79,1 рдПрдордмреА
  • рдШреБрд░рдШреБрд░рд╛рдирд╛: 6,2 рдПрдордмреА

рдЬрдмрдХрд┐ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ npm рдкреИрдХреЗрдЬ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╣реЗрд░рдлреЗрд░ рдХреА рддрд╛рд░реАрдЦреЛрдВ рдХреЗ рд▓рд┐рдП 58KB рдХреЛ рдПрдХ рд╕рдордЭрджрд╛рд░ рддрд░реАрдХреЗ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдореБрдЭреЗ рд╕реНрдерд╛рдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рднрд╛рд░реА рд╣реИрдВ)

рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╣рд╕ рдХрд░рддреЗ-рдХрд░рддреЗ рдердХ рдЧрдпрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдХрдо рдкрджрдЪрд┐рд╣реНрди рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рддреЗрдЬ рдХрд░ рджреЗрдЧрд╛ (рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдХреНрд╖рдг рд╣реИ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдкрд╡рди рдЪрдХреНрдХрд┐рдпреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рджреМрдбрд╝ рд░рд╣рд╛ рд╣реВрдВред рддреЛ: kthxbyeред

@martinheidegger рдпрд╛рд░реНрди рдХреЛ рдЖрдЬрд╝рдорд╛рдПрдВ, рдХрдо рд╕реЗ рдХрдо рд╡реЗ npm рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░ рд╣реИрдВ рдФрд░ рдкреИрдХреЗрдЬ рдХреЛ рдХреИрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдкрд░ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП :)

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред import moment from 'moment'; рдХрд░рдиреЗ рд╕реЗ рдмрдВрдбрд▓ рдХрд╛ рдЖрдХрд╛рд░ 30kb рд╕реЗ 250 kb рддрдХ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ!!! рдХреНрдпрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рдЙрдкрд╛рдп рд╣реИ рджреЛрд╕реНрддреЛрдВ ??

@ paramsingh88 рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рд╣реА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЗрд╕реА рдореБрджреНрджреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдзрд╛рдЧрд╛ рдорд┐рд▓рд╛ред рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ рдХреЗрд╡рд▓ moment.unix(created).format('MMMM D, YYYY') рдХрд░рдиреЗ рд╕реЗ 58kB рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдмрд┐рд▓реНрдХреБрд▓ рдкрд╛рдЧрд▓!

рдореИрдВ рдпрд╣ рд░рд╡реИрдпрд╛ рдирд╣реАрдВ рд╕рдордЭрддрд╛:

рдПрдХ рдиреЛрдб рдРрдк рдореЗрдВ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдЙрд╕реА рддрд░рд╣ рдкреНрд░реАрдорд┐рдпрдо рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд╖рдг рдПрдХ рдиреЛрдб рдРрдк рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреИрдХрдПрдВрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рд╛рдБ, рдореБрдЭреЗ Moment.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреИрдХрдПрдВрдб рдкрд░ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдкрд░ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЬрд┐рд╕рдХрд╛ рдЕрдкрдирд╛, рдЕрд▓рдЧ, рд╕рддреНрдпрд╛рдкрди рд╣реИред)

рд╕реНрдерд╛рди рдХреЗ рдмрд┐рдирд╛ рдХреНрд╖рдг рдХрд╛ рдЖрдХрд╛рд░ 50k (рдЫреЛрдЯрд╛) рд╣реИ, рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 300k (рдЫреЛрдЯрд╛) рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣рд╛рдВ https://github.com/moment/moment/issues/2373 рдкрд░ рдЪрд░реНрдЪрд╛

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

рдорд╛рдл рдХрд░рдирд╛ рдореЗрд░рд╛ рдмреБрд░рд╛ред (рд╕рдВрдкрд╛рджрд┐рдд)

рдЖрдо рд╕рд╣рдорддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдиреЛрдб рдРрдк рдореЗрдВ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдЙрд╕реА рддрд░рд╣ рдкреНрд░реАрдорд┐рдпрдо рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реИ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рдорд╛рдирд╕рд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫреЗ рдХрд╛рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

screen shot 2018-08-01 at 11 16 23 am

рдЬрд┐рд╕ рдХреНрд╖рдг рд▓реЛрдЧреЛрдВ рдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдмрдВрдбрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджрд╛ рд╣реИ, рдФрд░ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪреБрдирд╛, moment рдорд░ рдЪреБрдХрд╛ рд╣реИред
рд╣рд▓реНрдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, date-fns рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред

рдирдорд╕реНрддреЗ, npm рдкрд▓ рд▓рдЧрднрдЧ 3mb рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд▓реИрдореНрдмреНрдбрд╛ рдПрдбрд┐рдЯ рдЗрдирд▓рд╛рдЗрди рдЯреВрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд┐рдХреБрдбрд╝рдиреЗ рд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА

рдПрдХ рдХреЛрдгреАрдп рдРрдк рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ gzipped рдореЗрд░реЗ рдЫреЛрдЯреЗ рдмрдВрдбрд▓реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ 70% рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдордп рдореЗрд░реЗ рдкрд╛рд╕ рдкреВрд░реЗ рдкреИрдХреЗрдЬ рдХреЛ import * as moment from 'moment' рдХрд░рдирд╛ рд╣реИред

рдкрд▓.рдЬреЗрдПрд╕ рдореВрд▓ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ:

image

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рджрд░реНрдж рд╣реЛрддрд╛ рд╣реИред

@silentsnooc рд░рдирдЯрд╛рдЗрдо рдкрд░, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛

@kylekatarnls рдпрджрд┐ рдЖрдк рдмрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рджрд┐рдП рдЧрдП рдЬреЗрдПрд╕рдкреАрдПрдо рдХрд╛ рдЙрджрд╛рд╣рд░рдг:
https://momentjs.com/docs/#/i18n/loading -into-browser/

рд╡реЗрдмрдкреИрдХ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рдмрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдмрд╣реБрдд рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
https://github.com/moment/moment/issues/2517#issuecomment -185836313

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдХреНрд╖рдгреЛрдВ.рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдлреНрд░рдВрдЯ рдПрдВрдб рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдереАред рдЬрдм рд╣рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рддреЛ рд╣рдо рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдкрд░ date-fns рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ рдФрд░ рдкрд▓реЛрдВ рдХреЛ рдмреИрдХрдПрдВрдб рдкрд░ рд░рдЦрддреЗ рдереЗред рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рджреЛрдиреЛрдВ рд╕рд┐рд░реЛрдВ рдореЗрдВ date-fns рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

@demisx рдореБрдЭреЗ рдФрд░ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ:

image

рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред : +1: @xinghul рдХреЛ рднреА

рдЕрдзрд┐рдХ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХрд╛ lib рдЦреЛрдЬреЗрдВ, рдЬреЛ moment.js рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ

https://github.com/iamkun/dayjs

рдмрд╕ рдкрд▓реЛрдВ рдХреЛ рджрд┐рди рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ рд▓реЛрдХреЗрд▓ рдФрд░ рдЕрдм рдкреНрд▓рдЧрдЗрди рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ 15 рдХреЗрдмреА рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИред рд╢рд╛рдирджрд╛рд░ред

рдЖрдпреЛрдирд┐рдХ 4/рдХреЛрдгреАрдп 8 рдРрдк рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдЕрдВрддрд░:

momentJS : рдпрд╣ рдЬреЛрдбрд╝рддрд╛ рд╣реИ = 204 KB

dayJS : рдпрд╣ рдЬреЛрдбрд╝рддрд╛ рд╣реИ = 6 KB

рдореБрдЭреЗ рдХреЗрд╡рд▓ рдореВрд▓ рдбреЗрдЯрд╛/рд╕рдордп рд╕реНрд╡рд░реВрдкрдг рдФрд░ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ dayJS рд╕рд╛рде рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ: https://github.com/iamkun/dayjs

Screen Shot 2020-05-15 at 11 45 16 am

рдореБрдЭреЗ 249kb рднреА рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕рд╣рдпреЛрдЧреА рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ.. рдбреЗрдЯ рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ.fns

рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдмрд╣реБрдд рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
#2517 (рдЯрд┐рдкреНрдкрдгреА)

рдЗрд╕рдиреЗ рддреНрд╡рд░рд┐рдд рдЕрдиреБрдХреВрд▓рди рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдореЗрд░реЗ рдкрд▓ рдХреЛ 654.7kB рд╕реЗ 178.4kB рддрдХ рдЬрд╛рдиреЗ рджрд┐рдпрд╛ред рдпрд╣ рдЕрднреА рднреА рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕реБрдзрд╛рд░ рд╣реИред
рдХрд╛рд╢ рд╣рдо date-fns рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдЖрдпрд╛рдд рдХрд░ рдкрд╛рддреЗред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕