Gatsby: Gatsby.js рдХреЗ рд╕рд╛рде рдРрдкреНрд╕ рдмрдирд╛рдирд╛: рдХреНрдпрд╛ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рд╕рд┐рддре░ 2017  ┬╖  37рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: gatsbyjs/gatsby

рдирдорд╕реНрддреЗ,

рдореИрдВ рд╡реЗрдм рдРрдкреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП gatsby.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ AWS S3 рдФрд░ CloudFront рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдирдХреА рд╕реЗрд╡рд╛ рдХрд░реВрдВрдЧрд╛ред

рдХреНрдпрд╛ рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдиреЛрдб.рдЬреЗрдПрд╕ рдРрдк рдмрдирд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЪрд▓рд╛рдКрдВрдЧрд╛?

Gatsby.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╕рд╛рджрд░,
рдбреИрдирд┐рдпрд▓

question or discussion

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

Woah woah woah @barbush рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВред рдпрджрд┐ рдпрд╣ рдПрдХ рднрдпрд╛рдирдХ рд╕рд╡рд╛рд▓ рд╣реИ (рдЬреЛ рдпрд╣ рдирд╣реАрдВ рд╣реИ) рддреЛ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдлрд┐рд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдмрддрд╛рдирд╛ред рдХреГрдкрдпрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рди рджреЗрдВред

@ рдЕрдкрдиреЗ рд╕рд╡рд╛рд▓ рдХрд╛

рдореБрдЦреНрдп рджреЛрд╖ рдЬреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк "рдкреГрд╖реНрдареЛрдВ" рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрджрд┐ рдЖрдк рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕реАрдзреЗ рдЕрдк рдРрдк рдХрд╛ рдЕрдзрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЖрдкрдХреЛ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЛ рдХреБрдЫ рд╣рдж рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗрдЧрд╛ред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдк CRA рдЬреИрд╕реЗ рдЕрдзрд┐рдХ рд╡реИрдирд┐рд▓рд╛ рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЗрд╣рддрд░ рд╣реЛрдВрдЧреЗред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк "рдкреЗрдЬ" рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЧреИрдЯреНрд╕рдмреА рдмрдврд╝рд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдРрдк рдХреЗ рддреЗрдЬрд╝ рдмреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдСрдЯреЛ рдХреЛрдб рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рдФрд░ рд╕реНрдЯреЗрдЯрд┐рдХ рдПрд╕рдПрд╕рдЖрд░ рдорд┐рд▓рддреЗ рд╣реИрдВред

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

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

рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @barbushред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рдерд╛ рдХрд┐ 68 рд╢рдмреНрдж рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣реЛрдВрдЧреЗред

рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рднреА рдХрд╣рддреЗ рд╣реИрдВ: рдЬрдм рдореИрдВ gatsby.js рдХреЗ рд╕рд╛рде рдПрдХ рдРрдк рдмрдирд╛рддрд╛ рд╣реВрдВ рддреЛ рдХреНрдпрд╛ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ?

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдРрдк рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдореЗрд░рд╛ рд╕рд╡рд╛рд▓ рд╣реИ - рдЬреИрд╕рд╛ рдХрд┐ gatsby.js рдХреЛ рд╕реНрдерд┐рд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ? рдХреНрдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдмрд╛рдж рдореЗрдВ рдореБрдЭреЗ рдЧрдзреЗ рдореЗрдВ рдХрд╛рдЯрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?
рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИред

Woah woah woah @barbush рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВред рдпрджрд┐ рдпрд╣ рдПрдХ рднрдпрд╛рдирдХ рд╕рд╡рд╛рд▓ рд╣реИ (рдЬреЛ рдпрд╣ рдирд╣реАрдВ рд╣реИ) рддреЛ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдлрд┐рд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдмрддрд╛рдирд╛ред рдХреГрдкрдпрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рди рджреЗрдВред

@ рдЕрдкрдиреЗ рд╕рд╡рд╛рд▓ рдХрд╛

рдореБрдЦреНрдп рджреЛрд╖ рдЬреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк "рдкреГрд╖реНрдареЛрдВ" рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрджрд┐ рдЖрдк рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕реАрдзреЗ рдЕрдк рдРрдк рдХрд╛ рдЕрдзрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЖрдкрдХреЛ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЛ рдХреБрдЫ рд╣рдж рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗрдЧрд╛ред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдк CRA рдЬреИрд╕реЗ рдЕрдзрд┐рдХ рд╡реИрдирд┐рд▓рд╛ рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЗрд╣рддрд░ рд╣реЛрдВрдЧреЗред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк "рдкреЗрдЬ" рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЧреИрдЯреНрд╕рдмреА рдмрдврд╝рд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдРрдк рдХреЗ рддреЗрдЬрд╝ рдмреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдСрдЯреЛ рдХреЛрдб рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рдФрд░ рд╕реНрдЯреЗрдЯрд┐рдХ рдПрд╕рдПрд╕рдЖрд░ рдорд┐рд▓рддреЗ рд╣реИрдВред

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

@KyleAMathews : рдзрдиреНрдпрд╡рд╛рдж, рдареАрдХ рд╡рд╣реА рд╣реИ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рддрд▓рд╛рд╢ рдереАред

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреИрдЯреНрд╕рдмреА рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИред

рдЕрдкрдиреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЛ рднреА рдХреБрдЫ рд╣рдж рддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдЧрд╛

рдпрд╣ рд╢рд╛рдпрдж рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХрд┐рди рд╕реАрдорд╛рдУрдВ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдЙрдирдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛?

Gatsby, btw рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред, Gatsby рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрдпрд╛рдирдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ! :)

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХрд┐рди рд╕реАрдорд╛рдУрдВ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЙрдирдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛?

Gatsby рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓ рдФрд░ рдирд┐рд░рд╛рдкрдж рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдВрднрд╡рддрдГ рд╕реАрдорд╛рдУрдВ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рдЖрдк рд╕рд╛рдордЧреНрд░реА / рдкреГрд╖реНрда рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Gatsby рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИред

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

рдЬрдм рдЖрдк "рдкреЗрдЬ" рдореЙрдбрд▓ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд░рд┐рдПрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рдкрд░реЗрд╢рд╛рдиреА рдореЗрдВ рдЪрд▓реЗрдВрдЧреЗ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдлреНрд░реАрдлрд╝реЙрд░реНрдо рдРрдкред рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рднреА, рдЧреИрдЯреНрд╕рдмреА рдХреЗ рдкрд╛рд╕ рдПрдХ рдПрд╕реНрдХреЗрдк рд╣реИрдЪ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдмрдбрд╝реА рд╕рд╛рдЗрдЯ https://www.gatsbyjs.org/docs/creating-and-modifying-pages/#creating -client-only- рдорд╛рд░реНрдЧреЛрдВ рдХреЗ рднреАрддрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдРрдкреНрд╕ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред

рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж!

рд╣рд╛рдп @KyleAMathews рдФрд░ @ рдкреНрд░рддреАрдХ

рдпрд╣рд╛рдБ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рдВрджрд░реНрдн рдХреА рдИ.рдкреВ. рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рд╣реЗрд╣

рдпрджрд┐ рдореЗрд░реЗ /app (рдЬреЛ рдХреЗрд╡рд▓ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдорд╛рд░реНрдЧ рд╣реИ) рдХреЗ рдЕрдВрджрд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ SPA (рд▓реЙрдЧрд┐рди / рд▓реЙрдЧрдЖрдЙрдЯ / рдбреИрд╢рдмреЛрд░реНрдб) рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ рдирдпрд╛ рд░рд╛рдЙрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд╣реИ?

рдЖрдк рдЗрд╕ usecase @KyleAMathews рдореЗрдВ рдХреНрдпрд╛ рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ? рдпрд╛ рдПрдХ _more рд╡реЗрдирд┐рд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛?

рдзрдиреНрдпрд╡рд╛рдж

@fernandes рдЪреЗрдХрдЖрдЙрдЯ https://www.gatsbyjs.org/docs/creating-and-modifying-pages/#creating -client-only-path - рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдФрд░ рдкреНрд░рд╢реНрди рд╣реИрдВ!

рд╣рд╛рдп, @KyleAMathews рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

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

рдореИрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдореЗрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ : /app рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓ рдкрде рдХреЗ рдЕрдВрджрд░ рд░рдЦреЗрдВ

рдпрд╣ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ / redux (рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде) / рд░рд╛рдЙрдЯрд░ redux рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛

рдореИрдВ рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рдЗрддрдирд╛ рдЕрдиреБрднрд╡реА рдирд╣реАрдВ рд╣реВрдВ; рд╢рд╛рдпрдж рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ .. рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж!

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

рд╣рд╛рдБ, рдпрд╣реА рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ ... gatsby рдореЗрд░реА рд╕рднреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИ рдФрд░ рдпрд╣ рдкреГрд╖реНрда рд╣реИ, рдФрд░ react-boilerplate рдПрдХ рдЧреНрд░рд╛рд╣рдХ-рдХреЗрд╡рд▓-рдорд╛рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ /app рддрд╣рдд gatsby рдХреЗ рдЕрдВрджрд░ рдЬрд╛рддрд╛ рд╣реИ ... рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ (рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЗрд╕рдХреЗ рдвреЗрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░-рд░реЗрдбрдХреНрд╕)?

рдЧреИрдЯреНрд╕рдмреА рд╕рднреА рд╡реЗрдмрдкреИрдХ / рдмреИрдмреЗрд▓ / рдЕрдиреНрдп рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред

@KyleAMathews рдореИрдВ рдпрд╣ рдкрддрд╛ Redux + рдЕрдкреЛрд▓реЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ .. рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

@KyleAMathews рдореИрдВ рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдореИрдВ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдЕрдВрджрд░ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЕрдкреЛрд▓реЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рд┐рд░реНрдл рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб (рдПрдХ рдмрд╛рд░ рдЖрдкрдХреЛ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ) рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧреИрдЯреНрд╕рдмреА рдЗрдВрдбреЗрдХреНрд╕ рдлрд╛рдЗрд▓ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдирд┐рд░реНрдорд╛рдг рдкрд░; рдХреНрдпрд╛, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ

рдЗрд╕ HTML рдирд┐рд░реНрдорд╛рдг рдХреЛ рдХреИрд╕реЗ рдЫреЛрдбрд╝реЗрдВ рдЗрд╕ рдкрд░ рдХреЛрдИ рд╕реБрдЭрд╛рд╡?

рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
рдореИрдВ https://www.gatsbyjs.org/packages/gatsby-plugin-create-client-bathath/ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

рдореИрдВрдиреЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ deletePage page.path deletePage рдЖрдзрд╛рд░ рдкрд░ рд╣реИ, рдпрд╣ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ ... рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ ЁЯШД (рд╣рд╛рдБ, рдЕрдм рдореБрдЭреЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ app/index.html рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП nginx рдкрд░ рдПрдХ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдирд┐рдпрдо, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рд╕рд╛рде рдпрд╣реА рдХрд┐рдпрд╛ рд╣реИ ...

рдореБрдЭреЗ рдЬреНрдпрд╛рджрд╛ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЧреИрдЯреНрд╕рдмреА рдХреА рдЖрджрдд рд╣реЛ рд░рд╣реА рд╣реИ, рдФрд░ рдХрдмреВрд▓ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреА рд╣рд░ рдкреНрд░рдЧрддрд┐ рд╕реЗ рдЦреБрд╢ рд╣реВрдВ ... рдХрдорд╛рд▓ рдХрд╛ рдХрд╛рдо @KyleAMhehews !! ЁЯСП

@KyleAMathews рдореИрдВ рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдЪрд╛рд╣рддрд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рд░реВрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЛ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд▓рдкреЗрдЯрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред

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

рдЗрд╕рд▓рд┐рдП рдПрдХ Gatsby Page рдореЗрдВ (рдЙрджрд╛: / рдкреЙрдбрдХрд╛рд╕реНрдЯ) рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ cDM рдореЗрдВ рдлрд╛рдпрд░рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВ рд╡рд┐рд╡рд░рдг рдкреГрд╖реНрда (рдЙрджрд╛: / рдкреЙрдбрдХрд╛рд╕реНрдЯ /: рдЖрдИрдбреА) рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рд╡рд╣рд╛рдВ рдореИрдВ рдереЛрдбрд╝рд╛ рдЦреЛ рдЧрдпрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдореБрдЭреЗ рдЙрд╕ рд░реВрдЯ рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рд░реВрдЯрд┐рдВрдЧ рдореЗрдВ рд╕реМрдВрдкрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП?

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ /app рд╕реНрдХреЗрдк рд╣реИрдЪ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЬрдЧрд╣ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдПрд╕рдкреАрдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЬреЛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдУрд╡рд░рдХрд┐рд▓ рд╣реИред

рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж gatsby, рдпрд╣ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдорд╣рд╛рди рдЕрдиреБрднрд╡ рд░рд╣рд╛ рд╣реИ :)

@gafemoyano /podcast/:id рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реБрдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреЙрдбрдХрд╛рд╕реНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЪреАрдЬреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкреЙрдбрдХрд╛рд╕реНрдЯ рдкреЗрдЬ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреАрдЯреАрдПрдлрдкреА рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдЙрдирдХреЗ рд▓рд┐рдП рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ HTML рд╣реИред рдЖрдк рд╢рд╛рдпрдж рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдкреЙрдбрдХрд╛рд╕реНрдЯ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдмрд┐рд▓реНрдб рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдордХреНрдЦреА рдкрд░ рдЕрдзрд┐рдХ рдмрдирд╛рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдЧ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВред

рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рд░реБрдЪрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдореИрдВрдиреЗ Gatsby https://www.gatsbyjs.org/docs/building-apps-with-gatsby/ рдХреЗ рд╕рд╛рде рдРрдк рдмрдирд╛рдиреЗ рдкрд░ рдЗрд╕ рдирдП рдбреЙрдХреНрд╕ рдкреЗрдЬ рдХреЛ рд▓рд┐рдЦрд╛ред

рд╣реЗ @KyleAMathews рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ "рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдореБрджреНрджрд╛" рдмрди рдЧрдпрд╛ рд╣реИ

https://github.com/gatsbyjs/gatsby/issues/3444 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрднрд╡

рдЖрдкрдиреЗ https://github.com/gatsbyjs/gatsby/issues/3260#issuecomment -352856214 рдкрд░ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА / рдорд╛рди рдХреИрд╢ рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рддреЛ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЖрдЙрдЯ + рдкреЗрдЬ рдХреА рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реИред рджреГрд╢реНрдп)

@KyleAMathews рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рджреЗрдЦрдиреЗ рджреЛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВред рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рд╕реМрдВрдкрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рд╣реИ рдирд╛? рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреЗ рдорд╛рд░реНрдЧреЛрдВ рдХреЛ gatsby-node.js рдореЗрдВ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП :

` // page.matchPath is a special key that's used for matching pages
  // only on the client.
  if (page.path.match(/^\/podcasts/:id/)) {
    page.matchPath = "/podcasts/:id";

    // Update the page.
    createPage(page);
  }

рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдЙрдкрдпреЛрдЧ рдХреЗ рдмрдЬрд╛рдп:

`` `
// page.matchPath рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреБрдВрдЬреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд┐рд▓рд╛рди рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
// рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ред
if (рдкреЗрдЬ.рдкрд╛рде.match (/ ^ / рдРрдк /)) {
page.matchPath = "/ app /: path";

// Update the page.
createPage(page);

}


And on app/index.js I would define my routes by importing from ReactRouter directly:

'рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд░рд╛рдЙрдЯрд░-рдбреЛрдо' рд╕реЗ {рд╕реНрд╡рд┐рдЪ, рд░реВрдЯ} рдЖрдпрд╛рдд рдХрд░реЗрдВ
const AppIndex = () => (







)
`` `

рдЬреЛ рдореБрдЭреЗ / app / рдкреЙрдбрдХрд╛рд╕реНрдЯ /: рдЖрдИрдбреА рдкрд░ рдЬрд╛рдиреЗ рдФрд░ рдкреЙрдбрдХрд╛рд╕реНрдЯрдбреЗрдЯреНрд╕ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдЬрд╣рд╛рдВ рдШрдЯрдХ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдХрд╛ рдЖрдИрдбреА рд╣рд┐рд╕реНрд╕рд╛ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

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

рдЕрдкрдиреЗ рд╕рдордп рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп @KyleAMathews рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред

рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкрде рдХрд╛ app рд╣рд┐рд╕реНрд╕рд╛ рдордирдорд╛рдирд╛ рд╣реИред рдЖрдк рдЬрд┐рд╕ рднреА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ podcasts ред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдЗрдЯ рдорд╣рд╛рди рд╣реЛрдЧреА :-) рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╣реА рд╕рдордп рд╣реЛрдЧрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░реЗрдВ рдЬрд┐рд╕рдиреЗ рдХреБрдЫ рдирдореВрдирд╛ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ!

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рдХреБрдЫ рдирдореВрдирд╛ рдХреЛрдб

рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХреБрдЫ рдореБрджреНрджреЗ рд╣реИрдВред
рдПрдХ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╡рд░реНрдгрди рдХрд┐рдпрд╛
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЬрдм рдореИрдВ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ /app/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рддрд╣рдд рдПрдХ рдорд╛рд░реНрдЧ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП localhost:9000/app/posts/1 рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ 404 рд░рд┐рдХреНрдд рдкреГрд╖реНрда рдорд┐рд▓рддрд╛ рд╣реИред
рдЬрдм рдореИрдВ localhost:9000/app/ рдкреГрд╖реНрда рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рддрд╛ рд╣реВрдБ рддреЛ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдореЗрд░реЗ prefixes рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ gatsby-plugin-create-client-paths рдЧрд▓рдд рд╣реИрдВред

module.exports = {
  ...
  plugins     : [
    {
      resolve: `gatsby-plugin-create-client-paths`,
      options: {prefixes: [`/app/*`]},
    },
    ...
};

рдФрд░ рдПрдХ рдФрд░ рдореБрджреНрджрд╛ (рдирд╣реАрдВ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ) рдореИрдВ рдЕрдкрдиреЗ рд▓рдкреЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ <Route /> рдХреЗ рд╕рд╛рде рдХреА <BrowserRouter> ред
рдЬрдм рдореИрдВ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ (рд╡рд┐рдХрд╛рд╕ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рддреЛ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ "рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдПрдХ рдбреЛрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ", рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЧреИрдЯреНрд╕рдмреА рдПрдХ рдиреЛрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдХреЛрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ window рдЖрджрд┐ рдирд╣реАрдВ рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ <BrowserRouter> рд░реИрдк рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИред

рдХреБрдЫ рдорджрдж рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗ :)

@danielemesh рд╣рд╛рдп рдбреИрдирд┐рдпрд▓ред рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ рдЧреИрдЯреНрд╕рдмреА рдРрдк рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдЬреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ /app/* рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ /pages ред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рдЬрд╛рдирд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ src/ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рдЪреАрдпрд░реНрд╕!

@gafemoyano рдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА, рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ :(
рдЧреИрдЯреНрд╕рдмреА рдЗрд╕реЗ рдорд╛рдиреНрдпрддрд╛ рдирд╣реАрдВ рджреЗрдЧрд╛ редред

рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рдХреБрдЫ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдореВрд▓ рд╕реЗ 100% рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛), рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд╕реАрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рдЧреИрдЯреНрд╕рдмреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦрдирд╛ рд╣реИ

рдореИрдВрдиреЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдирд┐рдХрд╛рд▓рд╛, рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ app рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдХреНрд╡реЗрд╢реНрдЪрди рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдПрд╕рдПрд╕рдЖрд░ рдкрд░ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░

@KyleAMathews рдХреНрдпрд╛ рдЖрдк рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдЗрдЯ рд╕реЗ рдорддрд▓рдм рд╣реИ? рдХрд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ редред

gatsby-config.js

plugins: [
    `app-layout`, // I set my layout
    {
      resolve: `app-client-only`, // I handle app pages
      options: { prefixes: [`/app/*`] },
    },
  ],

plugins / рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдЖрдЙрдЯ / gatsby-Node.js

// Implement the Gatsby API тАЬonCreatePageтАЭ. This is
// called after every page is created.
exports.onCreatePage = ({ page, boundActionCreators }) => {
  const { createPage } = boundActionCreators;

  if (page.path.match(/^\/app/)) {
    // It's assumed that `app.js` exists in the `src/layouts/` directory
    page.layout = "app";
  }

  return true;
};

plugins / рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рдЧреНрд░рд╛рд╣рдХ рдХреЗрд╡рд▓ / gatsby-Node.js

// Prefixes should be globs (i.e. of the form "/*" or "/foo/*")
const validatePrefixEntry = prefix => {
  if (!prefix.match(/^\//) || !prefix.match(/\/\*$/)) {
    throw Error(
      `Plugin "gatsby-plugin-client-only-paths" found invalid prefix pattern: ${
        prefix
      }`
    )
  }
}

exports.onCreatePage = ({ page, store, boundActionCreators }, { prefixes }) => {
  const { createPage, deletePage } = boundActionCreators
  const re = {}
  prefixes.forEach(validatePrefixEntry)

  return new Promise(resolve => {
    // Don't set matchPath again if it's already been set.
    if (page.matchPath || page.path.match(/dev-404-page/)) {
      resolve()
    }

    prefixes.some(prefix => {
      if (!re[prefix]) {
        // Remove the * from the prefix and memoize
        const trimmedPrefix = prefix.replace(/\*$/, ``)
        re[prefix] = new RegExp(`^${trimmedPrefix}`)
      }

      // Ensure that the path ends in a trailing slash, since it can be removed.
      const path = page.path.match(/\/$/) ? page.path : `${page.path}/`

      if (path.match(re[prefix])) {
        page.matchPath = prefix.replace(/\*$/, `:path`)
        if (path != '/app/') {
          // <<<<<<<<<<<<<<<<< here is my modification >>>>>>>>>>>>>>>>>>>>>>>
          // do not try to process on SSR, user needs to be logged to
          // consume GraphQL API and render `app` pages correctly
          deletePage(page)
          // <<<<<<<<<<<<<<<<< here is my modification >>>>>>>>>>>>>>>>>>>>>>>
        }
        // createPage(page)
        return true
      }

      return false
    })

    return resolve()
  })
}

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ 100% рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ @KyleAMathews , рд▓реЗрдХрд┐рди рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореЗрд░рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ-рдУрдирд▓реА-рдкрде 404s рд╢реБрд░реВ рдореЗрдВ, рдлрд┐рд░ рдпрд╣ рд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ (рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ)

рдкреГрд╖реНрдареЛрдВ / рдРрдкреНрд╕ / index.js:

import CreateSchedule from './components/CreateSchedule'
import ViewSchedule from './components/ViewSchedule'
...
  <ApolloProvider client={client}>
        <Provider store={store}>
          <Switch>
            <Route exact path="/app" component={CreateSchedule} />
            <Route path="/app/:id" component={ViewSchedule} />
          </Switch>
        </Provider>
      </ApolloProvider>

gatsby-Node.js

exports.onCreatePage = async ({ page, boundActionCreators }) => {
  const { createPage } = boundActionCreators

  // page.matchPath is a special key that's used for matching pages
  // only on the client.
  if (page.path.match(/^\/app/)) {
    page.matchPath = '/app/:path'

    // Update the page.
    createPage(page)
  }
}

рдореИрдВрдиреЗ рднрд╛рдЧреНрдп рдХреЗ рдмрд┐рдирд╛ gatsby-plugin-create-client-paths рдкреНрд▓рдЧрдЗрди рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред

рдореЗрд░рд╛ CreateSchedule рдШрдЯрдХ 404ing рдХреЗ рдмрд┐рдирд╛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: https://www.appointmentscheduler.org/app

рдореБрджреНрджрд╛ ViewSchedule рдорд╛рд░реНрдЧ / рдШрдЯрдХ рдореЗрдВ рд╣реИ: https://www.appointmentscheduler.org/app/1b42d8e8-66b5-4a8d-a0b5-fd4bb13bed09

рдУрд╣ рдФрд░ 404 рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддрд╛ рд╣реИ - рджреЗрд╡ рд╕рд░реНрд╡рд░ рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ

рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

@rozenmd рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рд░реВрдЯрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк netlify рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк gatsby-plugin-netlify рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рд░реВрдЯрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ netlify-рдкрд╣рдЪрд╛рди-рд╡рд┐рдЬреЗрдЯ рд╣реИ - рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ)

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛!
рдзрдиреНрдпрд╡рд╛рдж @ рдХрд╛рдо!
рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдиреЗрдЯрд▓рд┐рдлрд╝ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ (https://github.com/konsumer/gatsby-starter-bootstrap-netlify) рдХреЗ рдкрд╛рд╕ gatsby-config.js рдореЗрдВ 'gatsby-plugin-netlify'

рдЙрд╕рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рддрдп рдХрд░рддрд╛ рд╣реИ has

Gatsby рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ @KyleAMathews рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдореБрджреНрджрд╛ рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Gatsby рдХреЗ рдЪреВрд╕рдиреЗ-рдЕрдк-рдкреВрд░реА-рдПрдХ-рдПрдХ рдмрд╛рд░ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг, рд╕рд░реНрд╡рд░ рдЬрд╣рд╛рдВ рдПрдкреАрдЖрдИ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреА рдЬрд╛рддреА рд╣реИ, рд╡рд╣рд╛рдВ рд╕реЗ 503 (рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░) рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рджреГрд╖реНрдЯрд┐рдХреЛрдгред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ GoDaddy рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ; рдЬрдм рдореИрдВ 'рдЧреИрдЯреНрд╕рдмреА рдбреЗрд╡рд▓рдк' рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрддрдо рд╕рдорд╡рд░реНрддреА рдХрдиреЗрдХреНрд╢рди рд╕реАрдорд╛ рддреБрд░рдВрдд рдкрд╣реБрдВрдЪ рдЧрдИ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (Drupal> Gatsby рдХреЛ рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛), рд▓реЗрдХрд┐рди рдЬрдм GoDaddy рдкрд░ рд╣реЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреАред

@ cf73 рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдиреЗ GoDaddy DNS рдХреЛ Netlify рдЬреИрд╕реЗ Gatsby рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рд╕рдВрдХреЗрдд рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?

рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @rozenmd , GoDaddy рдкрд░

@ cf73 https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-drupal/src/gatsby-node.js рд╢рд╛рдпрдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рдо better-queue рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░) Promise.all рдмрдЬрд╛рдп рд╕рдорд╡рд░реНрддреА рдЕрдиреБрд░реЛрдз рдХреЛ рдХреБрдЫ рдЕрдзрд┐рдХ рдкреНрд░рдмрдВрдзрдиреАрдп рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ рдореИрдВ рд╣рд╛рдБ рдмреЗрд╣рддрд░ рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЗрдЦрд╛, рдПрдХ рд╕рднреНрдп рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдбрд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЦреБрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣рд╛рд▓рд╛рдВрдХрд┐ - рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рдмрдбрд╝реА рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП 503 рддреНрд░реБрдЯрд┐ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЧреИрдЯреНрд╕рдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рд╕рдордп-рд╕реАрдорд╛ рддрдВрдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЕрдЧрд▓реЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдореЗрдВ рдпрд╛ рдЕрдЧрд▓реЗ рджрд┐рди рдпрд╛ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрдИ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рджреВрд╕рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреА рд╣реЛрдЧреАред рдХрд┐рд╕реА рдХреЛ рднреА рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдореИрдВ рддреБрд░рдВрдд рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рддреЛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ) рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП? рд╡рд╣рд╛рдБ рдПрдХ рд╕рд┐рджреНрдз Drupal + рд╣реЛрд╕реНрдЯрд┐рдВрдЧ + Gatsby рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реИ?

@ cf73 рдореИрдВ рдЖрдкрдХреЛ рдбреЗрдбрд▓рд╛рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╣рд╕реВрд╕ рдбреНрд░реБрдкрд▓ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд┐рдЧреНрд░реЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рд╣реЛрдЧреА (рдпрд╛ рддреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдпрд╛ рдирд┐рдЬреА рддреМрд░ рдкрд░ рдХрд▓рд╣ рдкрд░ - https://discordapp.com/invite/0ZcPPKXt5bVoxkfV PM рдкрд░ PM рдХреЗ рд╕рд╛рде рдореБрдЭреЗ - рдореЗрд░рд╛ рд╣реИрдВрдбрд▓ grajen3 рд╣реИ), рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рдЖрдЬ рдЦреБрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

@ рдпрд╣ рдЕрджреНрднреБрдд рд╣реЛрдЧрд╛, рдзрдиреНрдпрд╡рд╛рдж !!

@KyleAMathews рдореИрдВ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╕рд╛рдЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╣рддрд╛рд╢ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрд╕рд╛рди рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИред рд╕реНрдЯреИрдХ, рдЧреИрдЯреНрд╕рдмреА рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдХреЗ рд▓рд┐рдП рдбреНрд░реБрдкрд▓ рдЬреЗрдиреНрд╕рди-рдПрдкреАрдЖрдИ рд╣реИред рдпрд╣ рдореБрдЭреЗ рдиреЛрдбреНрд╕ рдореЗрдВ рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ (рд╕рдВрд▓рдЧреНрди рджреЗрдЦреЗрдВ)ред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЧреИрдЯреНрд╕рдмреА рдХрд╛ рдбреНрд░реБрдкрд▓ рд╕реНрдХреАрдорд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд╝реЗрд▓рд╢реЗрдб рдирд╣реАрдВ рд╣реИ? рдпрд╛ рдореИрдВ рдПрдХ рдХрджрдо рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдБ? рдХреЛрдИ рдорджрдж рддрддреНрдХрд╛рд▓ рдФрд░ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА !!
unknown-arg

рдХреНрд╡реЗрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

NodeArticle(id: { eq: GUID }) {
  id
  ...otherFields
}

рдЖрдк рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ allNodeArticle рдлрд╝рд┐рд▓реНрдЯрд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬрд╝ рдХрд╛ рдЪрдпрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реАрдзреЗ NodeArticle рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓реАрдирд░ рд╣реИред

@KyleAMathews рдЖрдкрдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдореИрдВ рдЕрднреА рддрдХ рдЗрд╕ рдкрд╛рд░ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реВрдВ ... рдХреНрдпрд╛ рдпрд╣ рдЕрджреНрд╡рд┐рддреАрдп рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЧреИрдЯреНрд╕рдмреА рдбреНрд░реБрдкрд▓ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдЧреНрд░рд╛рдлрдХреЙрд▓ рдХрд╛ рдПрдХ рдореБрдЦреНрдп рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реИ? рдХрд┐рд╕реА рднреА рд╕реНрд░реЛрдд-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╕реНрд░реЛрдд-рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдпрд╣ рдЕрдзрд┐рдХ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ?

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

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