Moment: рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб, рд▓реЛрдХреЗрд▓ рдмрджрд▓рддреЗ рд╕рдордп рдбреАрдк рдХреНрд░реИрд╢

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рдЕрдХреНрддреВре░ 2019  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moment/moment

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ 0.59.10 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдФрд░ рдкрд▓рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рд▓реЛрдХреЗрд▓ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рд╣рдордиреЗ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рд░рд┐рд▓реАрдЬ-рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдкрд░ рдХреНрд░реВрд░ рджреБрд░реНрдШрдЯрдирд╛ рдкрдХрдбрд╝реАред рдбреАрдмрдЧрд░ рд╕рдВрд▓рдЧреНрди рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдпрд╣ рдХреНрд░реИрд╢ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рдерд╛ред рдпрд╣ рдХреНрд░реИрд╢ рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рджреЛрдиреЛрдВ рдкрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╣реБрдЖред рд╣рд░ рдкрд▓ рдЙрдкрдпреЛрдЧ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░рд╛рдЗ-рдХреИрдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреНрд░реИрд╢ рдХреЛ рдирд╣реАрдВ рдкрдХрдбрд╝ рдкрд╛рдП!

рдкреНрд░рдЬрдирди рдХрд░рдирд╛

  1. рд╣рдо рдЙрди рд╕реНрдерд╛рдиреЛрдВ/рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдПрдХрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЬрдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬреИрд╕реЗ ["fr-CA", "en-US", "fr", "en"]
  2. рд╣рдо рдРрд░реЗ рд╕реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рдордп рдореЗрдВ рдЗрдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╣рдо рдХреБрдЫ рдЕрдиреНрдп рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдлреЗрдВрдХреЗ рдЧрдП рдХрд┐рд╕реА рднреА рдЬреЗрдПрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдкрдХрдбрд╝ рд╕рдХреЗрдВ рдФрд░ рдЕрдЧрд▓реЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЛ рдЖрдЬрдорд╛ рд╕рдХреЗрдВред
  3. рдХреЛрд╢рд┐рд╢-рдкрдХрдбрд╝ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ moment.locale(localeCandidate) рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрднреА рднреА рдЗрд╕ рд▓рд╛рдЗрди рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИтБЗ

рдпрд╣ рдПрдХ рдХреНрд░реИрд╢-рдСрди-рд▓реЙрдиреНрдЪ рдерд╛ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП !! рдЗрд╕рдиреЗ рдЙрдкрдпреЛрдЧреА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ/рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛ рджрд┐рдпрд╛ред

рд╣рдордиреЗ рдЕрдкрдиреЗ Bugsnag рдПрдХреАрдХрд░рдг рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХрдВрд╕реЛрд▓ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрдЦреЗ рд╣реИрдВ

  • рдЖрдИрдУрдПрд╕: Exception in HostFunction: Error loading module0from RAM Bundle: unspecified iostream_category error
  • рдПрдВрдбреНрд░реЙрдЗрдб: Exception in HostFunction: Module not found: 0
  • рдПрдХ рджрд┐рди рдмрд╛рдж, рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рд╣рдордиреЗ Requiring unknown module "./locale/en-us". рднреА рджреЗрдЦрд╛ - рд▓реЗрдХрд┐рди рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ, рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдордп рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ред рд╕рдВрднрд╡рддрдГ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓/рдмрдЧрдирд╛рдЧ рдореБрджреНрджрд╛ред
  1. рдЕрдВрддрд┐рдо рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреЛ рдПрдХ рдмрд┐рдВрджреБ рдорд┐рд▓рд╛ рдЬреЛ рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛:
    https://github.com/moment/moment/blob/96d0d6791ab495859d09a868803d31a55c917de1/moment.js#L1852 -L1853
    рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рд╡рд╣ рдпрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ: https://github.com/moment/moment/blob/6a06e7a0db2c83fb92aa72bbf6bde955d4c75a16/src/lib/locale/locales.js#L55 -L56

рд╕рдорд╛рдзрд╛рди: рдЙрди рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рд╕реЗ рджреБрд░реНрдШрдЯрдирд╛ рд░реБрдХ рдЧрдИ!

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░

  • рд▓рдореНрд╣реЗ рдХреЛ рдХрднреА рднреА рдЕрдЪрд╛рдирдХ рд╕реЗ рдЦрд░рд╛рдм рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬрд╝-рдмрд┐рд▓реНрдб-рдУрдирд▓реА рдореЗрдВ рдирд╣реАрдВ!
  • рдореЛрдореЗрдВрдЯ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЛ рдкрдХрдбрд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рд╣рдорд╛рд░реЗ рдХреИрдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдПрдХ рджреБрд░реНрдШрдЯрдирд╛ рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рдереЗ)ред - (рд░рд┐рд▓реАрдЬ рдореЗрдВ require() рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)

рд╕реНрдорд╛рд░реНрдЯрдлреЛрди (рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ):

  • рдбрд┐рд╡рд╛рдЗрд╕: рдЖрдИрдлреЛрди рдПрдХреНрд╕, рдЖрдИрдлреЛрди 11 рдкреНрд░реЛ, рд╕реИрдорд╕рдВрдЧ (? - рдмрд┐рд▓реНрдХреБрд▓ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛), Google рдкрд┐рдХреНрд╕реЗрд▓ 3, (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ 0.59.10)
  • рдУрдПрд╕: рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб
  • рдЖрдИрдУрдПрд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрд░ (рдиреАрдЪреЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЖрдИрдУрдПрд╕ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП), рдФрд░ рдЬреЗрдПрд╕рд╕реА-рдПрдВрдбреНрд░реЙрдЗрдб (+intl) 245459.0.0
  • рд╕рдВрд╕реНрдХрд░рдг: рдЖрдИрдУрдПрд╕ 12.4 рдФрд░ рдЖрдИрдУрдПрд╕ 13.1, рдЖрдИрдУрдПрд╕ 13.1.2, рдФрд░ рдЖрдИрдУрдПрд╕ 13.2 (рдмреАрдЯрд╛?), рдПрдВрдбреНрд░реЙрдЗрдб 28, рдЕрдиреНрдпред

рдХреНрд╖рдг-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг

  • рдкреНрд░рд╢рд╛рдВрдд рд╕рдордп, рдФрд░ рд╕рдВрднрд╡рддрдГ рд▓рдВрджрди рдХрд╛ рд╕рдордп
  • рдХреЛрдб рдмрдЧ рджрд┐рди рдХреЗ рд╣рд░ рд╕рдордп рдкрд┐рдЫрд▓реЗ 2 рд╕рдкреНрддрд╛рд╣ (2019-10-09) рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред
  • рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп: рдкрд▓-рд╕рдордп-рдХреНрд╖реЗрддреНрд░ рдФрд░ рдХреНрд╖рдг-рдХреЗ-рд╕реНрдерд╛рди, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ 0.59.10, рдЕрдкреЛрд▓реЛ-рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдЕрдиреНрдп

рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЪрд▓рд╛рдПрдБ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ:

        console.log([
            new Date().toString(),
            new Date().toLocaleString(),
            new Date().getTimezoneOffset(),
            navigator && navigator.userAgent, // react-native might not have a navigator
            moment.version,
        ]);

рдЖрдЙрдЯрдкреБрдЯ:

[
  "Wed Oct 09 2019 18:52:16 GMT-0700 (PDT)",
  "09/10/2019 ├а 18:52:16", // This particular device is configured as fr-FR
  420,
  null,
  "2.24.0"
]

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн

рд╕рдВрдмрдВрдзрд┐рдд рдЯрд┐рдХрдЯ

  • #5214 - рдЕрд▓рдЧ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рдХрдо рд╕рдВрджрд░реНрдн рд╣реИ, рдФрд░ рдПрдХ рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред рдЗрд╕реА рддрд░рд╣ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рднреА рд╕реБрдЭрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЖрдИрдУрдПрд╕-рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░/рдЖрдИрдУрдПрд╕ рдкрд░ рджреЛрдмрд╛рд░рд╛ рджреЛрд╣рд░рд╛рдпрд╛ред
  • #3872
  • #2979

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

рд╕рдВрджрд░реНрднрд┐рдд рд▓рд╛рдЗрдиреЗрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ" рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЛрдбрд┐рдВрдЧ рд▓реЛрдХреЗрд▓ рдбреЙрдХреНрд╕ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЬреЗрдПрд╕рдкреАрдПрдо рдЬреИрд╕реЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд▓реЛрдХреЗрд▓ рдХреЛ import "moment/locale/fr рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ "рдЬрд╛рдирдиреЗ" рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рдордиреЗ рдЖрдпрд╛рдд рдХреА рдЙрд╕ рд╢реИрд▓реА рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рддрд╛рдХрд┐ рдкреИрдХреЗрдЬрд░ рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ "рджреЗрдЦ" рд╕рдХреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдмрдВрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдЕрдВрддрддрдГ, рд╣рдорд╛рд░реА рдЖрдпрд╛рдд рд▓рд╛рдЗрдиреЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреАрдВ:

import moment from "moment";
import "moment/min/locales"; // Import all moment-locales -- it's just 400kb
import "moment-timezone";

require() рдХрд╛ рд╕рдЯреАрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрд╕ рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдбреАрдмрдЧ рдФрд░ рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдХреЗ рдмреАрдЪ рдХрд╛рдлреА рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред

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

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

рд╕рдВрджрд░реНрднрд┐рдд рд▓рд╛рдЗрдиреЗрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ" рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЛрдбрд┐рдВрдЧ рд▓реЛрдХреЗрд▓ рдбреЙрдХреНрд╕ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдЬреЗрдПрд╕рдкреАрдПрдо рдЬреИрд╕реЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд▓реЛрдХреЗрд▓ рдХреЛ import "moment/locale/fr рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ "рдЬрд╛рдирдиреЗ" рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рдордиреЗ рдЖрдпрд╛рдд рдХреА рдЙрд╕ рд╢реИрд▓реА рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рддрд╛рдХрд┐ рдкреИрдХреЗрдЬрд░ рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ "рджреЗрдЦ" рд╕рдХреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдмрдВрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдЕрдВрддрддрдГ, рд╣рдорд╛рд░реА рдЖрдпрд╛рдд рд▓рд╛рдЗрдиреЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреАрдВ:

import moment from "moment";
import "moment/min/locales"; // Import all moment-locales -- it's just 400kb
import "moment-timezone";

require() рдХрд╛ рд╕рдЯреАрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрд╕ рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдбреАрдмрдЧ рдФрд░ рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдХреЗ рдмреАрдЪ рдХрд╛рдлреА рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред

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

рдореЗрд░реЗ рдлрд┐рдХреНрд╕ рдкреНрд░рд╕реНрддрд╛рд╡:

рдЙ. aliasedRequire рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ, рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдк рдЪреАрдЬреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ + рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ?
рдмреА. рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдмрдирд╛рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ ( navigator рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЕрдиреНрдп рддрдХрдиреАрдХреЗрдВ рднреА рд╣реИрдВ), рдФрд░ рд╣рдо рдХрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЦреБрдж рдХреЛ рдкрд╛рддреЗ рд╣реИрдВ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ && DEV рд╣реИ, рддреЛ рдПрдХ рдХрдВрд╕реЛрд▓.рдПрд░рд░ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ рдпрджрд┐ рд▓реЛрдХреЗрд▓ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ required рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ (+ рдбреЙрдХреНрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ)ред
C. рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рд╕реЗ aliasedRequire рдХреЛ "рдЕрд░реНрдз-рд╡реИрд╢реНрд╡рд┐рдХ" рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдВред moment.aliasedRequire , рдЗрд╕ рддрд░рд╣ рд╣рдо рдПрдХ рдиреЛ-рдСрдк/рдбреВ-рдирдерд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ aliasedRequire рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдХреЛ рдЕрдм рдФрд░ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдХреНрд░реИрд╢ рди рдХрд░ рд╕рдХреЗред

рдореБрдЭреЗ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╡рд┐рдХрд▓реНрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдпрджрд┐ рдХреЛрдИ рдЕрдиреБрд░рдХреНрд╖рдХ рдореБрдЭреЗ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдореБрдЭреЗ рдХрд┐рд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдмреА/рд╕реА рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣ рдкрд░рд┐рд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдХрд┐ рд╡реЗ рдХрд┐рд╕ рд╕рдЯреАрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ!

@marwahaha - рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреНрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдореЗрд░реЗ рдлрд┐рдХреНрд╕ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдкрд░ рдЖрдкрдХреА рдХреЛрдИ рд░рд╛рдп рд╣реЛрдЧреА? рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ/рд░рдЦрд░рдЦрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдорд╛рд░реНрдЧ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕рд▓рд╛рд╣ рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдкреАрдЖрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА?

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

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alvarotrigo picture alvarotrigo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tanepiper picture tanepiper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dbshwang picture dbshwang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

danieljsinclair picture danieljsinclair  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ