pages/_document.js > components/Document.js
pages/_error.js > components/Error.js
рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА _рдкреГрд╖реНрда_ рдирд╣реАрдВ рд╣реИтАФрд╡реЗ рд╡рд┐рд╢реЗрд╖ _рдШрдЯрдХ_ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рд░ рдХреЛрдИ components
рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рде pages
рд░рдЦрдиреЗ рдХреА рдкрд░рдВрдкрд░рд╛ рдХреЛ рдЕрдкрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдФрд░ "рдЕрдзрд┐рдХ рд╕рд╣реА" IMO рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдП рдХрд┐ рдпреЗ _reserved_ рдШрдЯрдХ рдирд╛рдо рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдиреЗрдХреНрд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреЛрдиреЛрдВ рдиреАрдЯрд░ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдХреЛрдб рд╡рд┐рднрд╛рдЬрди рдФрд░ рдмрдВрдбрд▓рд┐рдВрдЧ рддрд░реНрдХ рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк _all_ JS рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ pages
рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрди рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдереЛрдбрд╝рд╛ рдмрджрд╕реВрд░рдд рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдирд╛рдорд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рднреА рдорд┐рдЯрд╛ рджреЗрдЧрд╛ ... рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реА рд░рд╛рдп рд╣реИ!
рдзрдиреНрдпрд╡рд╛рджред рдЖрдкрдХреЛ рдПрдХ рд╡реИрдз рдмрд┐рдВрджреБ рдорд┐рд▓рд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
2.0.0
рдЬрд▓реНрдж рд╣реА рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗ рдФрд░ pages/_document.js
рдФрд░ pages/_error.js
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рдЙрдирдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реБрдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗ? рдЗрд╕ рддрд░рд╣ рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рддреЛрдбрд╝реЗрдЧрд╛ рд▓реЗрдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдкрд▓рд╛рдпрди рдХрд░рдиреЗ рджреЗрдЧрд╛ред
рдЗрд╕ рдкреАрдЖрд░ https://github.com/zeit/next.js/pull/936 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ next.config.js
рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рднреА рдирд┐рдкрдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ pagesDirectory
рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдк documentComponent
рдФрд░ errorComponent
рдЬреИрд╕реЗ рдХреБрдЫ рдФрд░ рдкреНрд░реЙрдкреНрд╕ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
// next.config.js
module.exports = {
pagesDirectory: 'views',
documentComponent: 'components/Document.js',
errorComponent: 'components/Error.js'
}
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЗрд╕ рдкреАрдЖрд░ https://github.com/zeit/next.js/pull/936 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ
next.config.js
рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рднреА рдирд┐рдкрдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗpagesDirectory
рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдЖрдк
documentComponent
рдФрд░errorComponent
рдЬреИрд╕реЗ рдХреБрдЫ рдФрд░ рдкреНрд░реЙрдкреНрд╕ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: