рдореЗрд░реЗ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ gatsby develop
рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рдореНрди рд╕рдВрджреЗрд╢ рджреЗрдЦрд╛:
React-Hot-Loader: react-ЁЯФе-dom patch is not detected. React 16.6+ features may not work.
yarn && yarn develop
рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рдлреЗрдВрдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рднреА рдЪреЗрддрд╛рд╡рдиреА рджреА рдЬрд╛рддреА рд╣реИред
System:
OS: Windows 10
CPU: (4) x64 Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz
Binaries:
Yarn: 1.13.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
npmPackages:
gatsby: ^2.1.10 => 2.1.10
gatsby-plugin-manifest: ^2.0.18 => 2.0.18
gatsby-plugin-offline: ^2.0.24 => 2.0.24
gatsby-plugin-react-helmet: ^3.0.6 => 3.0.6
gatsby-plugin-styled-components: ^3.0.6 => 3.0.6
gatsby-plugin-typescript: ^2.0.8 => 2.0.8
рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рднреА рджреЗрдЦреА рд╣реИред рдореИрдВ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЧреИрдЯреНрд╕рдмреА-рд╕реНрдЯрд╛рд░реНрдЯрд░-рдбрд┐рдлреЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рд╣рдо рд╢рд╛рдпрдж рдЧрд╛рдпрдм рд╣реИрдВ https://github.com/gaearon/react-hot-loader/tree/7089062eac273832102c074a368d5af27e23e0b0#webpack -plugin
рдпрд╣ рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдЧ: рдЖрдЧ: рдЕрднреА рддрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИред
Webpack.config рдпрд╣рд╛рдБ рд╣реИ:
https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/utils/webpack.config.js
@wardpeet рдореИрдВ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП react-dom
рдХреЛ @ hot-loader/react-dom рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВред
рдпрд╣ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдореИрдВ
@achmadk @wardpeet рдЖрдкрдиреЗ рд░рд┐рдПрдХреНрдЯ-рдбреЛрдо рдХреЛ рдХрд╣рд╛рдВ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛
@ рд╣реЙрдЯ-рд▓реЛрдбрд░/рд░рд┐рдПрдХреНрд╢рди-рдбреЛрдо?
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореЗрд░реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ, рдпрд╣ рдЧреИрдЯреНрд╕рдмреА рдХреЛрдб рдХреЗ рдЕрдВрджрд░ рдХрд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
@ JustFly1984 рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ @kripod рд╕реЗ рдХреЛрдбрдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ред package.json
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЗрд╕рдореЗрдВ react-dom
рдЕрдВрджрд░ dependencies
ред рдФрд░ рдлрд┐рд░ react-dom
рдХреЛ @hot-loader/react-dom
рдмрджрд▓реЗрдВред
рдореИрдВ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЧреИрдЯреНрд╕рдмреА-рд╕реНрдЯрд╛рд░реНрдЯрд░-рдбрд┐рдлреЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реВрдВред
рддреЛ рд╣рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
"рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдЧ" рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ? рдпрд╛ react-dom
рдХреЛ @hot-loader/react-dom
рдмрджрд▓реЗрдВ?
рдпрд╣ "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдЧ" рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рдЗрдореЛрдЬреА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ @hot-loader/react-dom
рдХреЛ devDependency
рдФрд░ рдЗрд╕ рд╣реБрдХ рдХреЛ gatsby-node.js
рдЬреЛрдбрд╝рдирд╛:
exports.onCreateWebpackConfig = ({ getConfig, stage }) => {
const config = getConfig()
if (stage.startsWith('develop') && config.resolve) {
config.resolve.alias = {
...config.resolve.alias,
'react-dom': '@hot-loader/react-dom'
}
}
}
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди ..
рдЕрднреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ? (рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬрдиреЗ рд╕реЗ рдореЗрд░реЗ рдРрдк рдкрд░ рдкреЗрдЬ рд░реАрдлрд╝реНрд░реЗрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛)
рд╣рд┐рдпрд╛!
рдпрд╣ рдорд╛рдорд▓рд╛ рд╢рд╛рдВрдд рд╣реЛ рдЧрдпрд╛ рд╣реИред рдбрд░рд╛рд╡рдирд╛ рд╢рд╛рдВрддред рдореИрдВ
рд╣рдореЗрдВ рдмрд╣реБрдд рд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ 30 рджрд┐рдиреЛрдВ рдХреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рдореБрджреНрджреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдЖрдЦрд┐рд░реА рдЕрдкрдбреЗрдЯ рдХреЛ рдХрдо рд╕реЗ рдХрдо 20 рджрд┐рди рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВред
рдЕрдЧрд░ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЪреВрдХ рдЧрдП рд╣реИрдВ рдпрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЦреБрд▓рд╛ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рдЙрддреНрддрд░ рджреЗрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЦреБрд▓рд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк "рдиреЙрдЯ рдмрд╛рд╕реА" рд▓реЗрдмрд▓ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ!
Gatsby рд╕рдореБрджрд╛рдп рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ
рдмрд╛рд╕реА рдирд╣реАрдВ!
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рд░реЛрдбрдореИрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдЖрднрд╛рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рднреА рдЧрд▓рдд рдХрд┐рдпрд╛ рд╣реИред
рдмрд╕ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдпрд╣ @misterbridge рдХреА рддрд░рд╣ рд╣реЙрдЯ
рдореБрдЭреЗ рдЗрд╕реЗ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдареАрдХ рдХрд░рдиреЗ рджреЗрдВ
рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛ https://github.com/gatsbyjs/gatsby/pull/13713 рдЕрдЧрд░ рдпрд╣ рдХреБрдЫ рд░реЗрдкреЛ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдордЬреЗрджрд╛рд░ рд╣реЛрдЧрд╛ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ #13713 . рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдХреНрдпрд╛ рд╣рдореЗрдВ рдЕрднреА рднреА рдЙрд╕ exports.onCreateWebpackConfig
рдкреИрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдЧреИрдЯреНрд╕рдмреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ? рдпрд╛ рд╣рдо рд╕рд┐рд░реНрдл рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 16.9.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рд░рд╣рд╛ рд╣реИ
рдореИрдВ рдЗрд╕реЗ рдирдП рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рднреА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред
рдЖрдкрдХреЛ рдЕрдкрдиреА рдкреИрдХреЗрдЬ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╣реЙрдЯ-рдбреЛрдо рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛рди рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
"@ рд╣реЙрдЯ-рд▓реЛрдбрд░/рд░рд┐рдПрдХреНрд╢рди-рдбреЛрдо": "^16.8.6",
рдФрд░ рдЕрдкрдиреЗ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдЖрдкрдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЙрдкрдирд╛рдо: { 'рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреЛрдо': '@ рд╣реЙрдЯ-рд▓реЛрдбрд░/рд░рд┐рдПрдХреНрдЯ-рдбреЛрдо'}
рдЪреВрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рддреЛрдбрд╝рддрд╛ рд╣реИ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкреНрд░рд╢реНрди рдореЗрдВ рдореИрдВрдиреЗ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдерд╛:
рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдЕрдЧрд░ рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рд╣реИрдВ:
рдореИрдВ рдЧреИрдЯреНрд╕рдмреА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рд╕реАрдзрд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдореВрд▓ react-dom
рдкреИрдХреЗрдЬ рд╕реЗ рджреВрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
@TheAadithyan рджреНрд╡рд╛рд░рд╛
рдЧреИрдЯреНрд╕рдмреА рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рдж, actions.setWebpackConfig
рдмреЗрд╣рддрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
exports.onCreateWebpackConfig = ({ stage, actions }) => {
if (stage.startsWith("develop")) {
actions.setWebpackConfig({
resolve: {
alias: {
"react-dom": "@hot-loader/react-dom",
},
},
})
}
}
рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
@antoinerousseau рдФрд░ @ooloth : рдпрд╣ рдкреИрдЪ рдПрдХ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬрдм react-modal
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ file:[path to project]
рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬреАрдм рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ Azure DevOps рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╕реЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рд╡рд╣реА рдХреЛрдб рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдкреИрдЪ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдореИрдВрдиреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ react-modal
рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рджреЛрдиреЛрдВ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред react-modal
рдХреА рдирд┐рд░реНрднрд░рддрд╛ react-dom
рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдкреИрдЪ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИред
рд░реЗрдкреЛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, https://github.com/collector-bank/collector-portal-framework рджреЗрдЦреЗрдВред
react-modal
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ file:..
react-modal
рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВредnpm run start
рдЪрд▓рд╛рдПрдБред┬╗ npm run start [removed for privacy reasons]@Eriks-MBP
> [email protected] start /Users/[removed for privacy reasons]/Projects/[removed for privacy reasons]/FooProject
> npm run develop
> [email protected] develop /Users/[removed for privacy reasons]/Projects/[removed for privacy reasons]/FooProject
> gatsby develop
success open and validate gatsby-configs - 0.029 s
success load plugins - 0.247 s
success onPreInit - 0.015 s
info One or more of your plugins have changed since the last time you ran Gatsby. As
a precaution, we're deleting your site's cache to ensure there's not any stale
data
success initialize cache - 0.031 s
success copy gatsby files - 0.049 s
success onPreBootstrap - 0.020 s
success source and transform nodes - 0.098 s
success Add explicit types - 0.018 s
success Add inferred types - 0.099 s
success Processing types - 0.075 s
success building schema - 0.250 s
success createPages - 0.014 s
success createPagesStatefully - 0.055 s
success onPreExtractQueries - 0.016 s
success update schema - 0.032 s
success extract queries from components - 0.231 s
success write out requires - 0.027 s
success write out redirect data - 0.013 s
success Build manifest and related icons - 0.104 s
success onPostBootstrap - 0.127 s
таА
info bootstrap finished - 3.117 s
таА
success run static queries - 0.058 s тАФ 3/3 67.58 queries/second
success run page queries - 0.028 s тАФ 5/5 365.36 queries/second
success start webpack server - 1.300 s тАФ 1/1 7.17 pages/second
ERROR Failed to compile with 2 errors 09:36:39
таА
This dependency was not found:
таА
* react-dom in /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/components/Modal.js, /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-onclickoutside/dist/react-onclickoutside.es.js
таА
To install it, you can run: npm install --save react-dom
ERROR
тЬЦ я╜вwdmя╜г:
ERROR in /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/components/Modal.js
Module not found: Error: Can't resolve 'react-dom' in '/Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/components'
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/components/Modal.js 16:16-36
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-modal/lib/index.js
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/components/Modal/index.js
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/components/index.js
@ ./src/components/layout.tsx
@ ./src/pages/page-2.tsx
@ ./.cache/sync-requires.js
@ ./.cache/app.js
@ multi ./node_modules/event-source-polyfill/src/eventsource.js (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app
ERROR in /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-onclickoutside/dist/react-onclickoutside.es.js
Module not found: Error: Can't resolve 'react-dom' in '/Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-onclickoutside/dist'
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-onclickoutside/dist/react-onclickoutside.es.js 2:0-40 199:15-26
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/node_modules/react-datepicker/dist/react-datepicker.min.js
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/common/components/DatePicker/index.js
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/common/components/index.js
@ /Users/[removed for privacy reasons]/Projects/Private/collector-portal-framework-upstream/dist/components/index.js
@ ./src/components/layout.tsx
@ ./src/pages/page-2.tsx
@ ./.cache/sync-requires.js
@ ./.cache/app.js
@ multi ./node_modules/event-source-polyfill/src/eventsource.js (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app
info тД╣ я╜вwdmя╜г: Failed to compile.
рдпрд╣ "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдЧ" рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рдЗрдореЛрдЬреА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ
@hot-loader/react-dom
рдХреЛdevDependency
рдФрд░ рдЗрд╕ рд╣реБрдХ рдХреЛgatsby-node.js
рдЬреЛрдбрд╝рдирд╛:exports.onCreateWebpackConfig = ({ getConfig, stage }) => { const config = getConfig() if (stage.startsWith('develop') && config.resolve) { config.resolve.alias = { ...config.resolve.alias, 'react-dom': '@hot-loader/react-dom' } } }
рдореБрдЭреЗ рдмрд╛рдж рдореЗрдВ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛!
@prevolorio рдХреНрдпрд╛ рдЖрдкрдиреЗ рдпрд╣ рдзрд╛рдЧрд╛ рдкрдврд╝рд╛ рд╣реИ? ...
рдЧреИрдЯреНрд╕рдмреА рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рдж,
actions.setWebpackConfig
рдмреЗрд╣рддрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПexports.onCreateWebpackConfig = ({ stage, actions }) => { if (stage.startsWith("develop")) { actions.setWebpackConfig({ resolve: { alias: { "react-dom": "@hot-loader/react-dom", }, }, }) } }
рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдиреНрдпреВрдмред рдореИрдВ рдпрд╣ рдХреЛрдб рдХрд╣рд╛рдВ рд░рдЦреВрдВ? рдЧреИрдЯреНрд╕рдмреА-рдиреЛрдб.рдЬреЗрдПрд╕?
@TriStarGod рд╣рд╛рдБ, рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдПрдкреАрдЖрдИ рд╣реБрдХ "рд░рд╣рддрд╛ рд╣реИ"ред рдХреЛрдб рдХрд╛ рд╡рд╣ рдЯреБрдХрдбрд╝рд╛ gatsby-node.js
рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
@TriStarGod рдпрд╣ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреЗрдЬ рдкрд░ рд╕рд╣реА рдХрд╣рддрд╛ рд╣реИ ...
рдЙрдкрдпреЛрдЧ: рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдПрдкреАрдЖрдИ рдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ gatsby-node.js рдирд╛рдо рдХреА рдлрд╛рдЗрд▓ рд╕реЗ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
рдореБрдЭреЗ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд░ рднреА рдорд┐рд▓ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдмрдВрдЯреВ рд▓рд┐рдирдХреНрд╕ рдпрд╛ рдореИрдХрдУрдПрд╕ рдкрд░ рдирд╣реАрдВред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред
@kimbaudi рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рднреА рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдареАрдХ рд░рд╣реЗрдЧрд╛ ??
рдореИрдВрдиреЗ рдЧреИрдЯреНрд╕рдмреА рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛ рд╣реИ?
рдпрд╣ рдЕрдЪрд╛рдирдХ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрд╛ рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдореИрдВрдиреЗ рдХреБрдЫ рддреЛрдбрд╝ рджрд┐рдпрд╛ рдХреНрдпрд╛ рдореИрдВ рд╕рд┐рд░реНрдл рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
+1
рдХреНрд░реЛрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ 10 рдорд╢реАрди рдкрд░ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрдХрд░ (рдпрджрд┐ рд╡рд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ)
+1 рд╡рд╣реА рдпрд╣рд╛рдБред рдФрд░ @hot-loader/react-dom
рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ (рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА) - рджреЗрд╡ Error: Cannot find module 'react-dom/server'
рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
рдЗрд╕реЗ рдХрд╛рдо рдкрд░ рдореЗрд░реЗ рд╡рд┐рдиреНрдбреЛрдЬрд╝ рдмреЙрдХреНрд╕ рдкрд░ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ, рдореИрдВ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореИрдХрдмреБрдХ рдмреЙрдХреНрд╕ рдкрд░ рджреЗрдЦреВрдВрдЧрд╛ред
рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЪрд▓ рд░рд╣рд╛ рд╣реИ: yarn add react-dom<strong i="5">@npm</strong>:@hot-loader/react-dom
рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред
рд╕реЗ: рд░рд┐рдПрдХреНрдЯ-рдбреЛрдо - рд╣реЙрдЯ-рд▓реЛрдбрд░ рд╕рдВрд╕реНрдХрд░рдг рд░рд┐рд╡рд╛рдпрд░ - (рдпрд╛рд░реНрди) рдХреЛрдИ рдЕрдиреНрдп рд╕рд┐рд╕реНрдЯрдо
рдЪрд▓ рд░рд╣рд╛ рд╣реИ:
yarn add react-dom<strong i="6">@npm</strong>:@hot-loader/react-dom
рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред
рд╕реЗ: рд░рд┐рдПрдХреНрдЯ-рдбреЛрдо - рд╣реЙрдЯ-рд▓реЛрдбрд░ рд╕рдВрд╕реНрдХрд░рдг рд░рд┐рд╡рд╛рдпрд░ - (рдпрд╛рд░реНрди) рдХреЛрдИ рдЕрдиреНрдп рд╕рд┐рд╕реНрдЯрдо
рдпрд╛ npm add @hot-loader/react-dom@[YOUR_REACT_VERSION]
рддреЛрдВ.: npm add @hot-loader/[email protected]
рдФрд░ gatsby-node.js рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
exports.onCreateWebpackConfig = ({ getConfig, stage }) => {
const config = getConfig()
if (stage.startsWith('develop') && config.resolve) {
config.resolve.alias = {
...config.resolve.alias,
'react-dom': '@hot-loader/react-dom'
}
}
}
gatsby develop
рдЪрд▓рд╛рдПрдВ
рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред
рдПрдХ рдЖрд╕рд╛рди рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреА рд╕рднреА рдЧреИрдЯреНрд╕рдмреА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЕрднреА рднреА рдПрдХ рд░рд┐рд▓реЗрд╡реЗрдВрдЯ рдлрд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛ рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рд░реБрдХ-рд░реБрдХ рдХрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдореИрдВ yarn add react-dom<strong i="5">@npm</strong>:@hot-loader/react-dom
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рд▓рд░реНрди рдХреЗ рд╕рд╛рде рдпрд╛рд░реНрди рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдРрд╕реЗ рдмреБрд░реЗ рдореБрджреНрджреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдиреЛрд╣реЛрдЗрд╕реНрдЯ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рд╢реБрд░реВ рдореЗрдВ рд╕реЛрдЪрд╛ рдерд╛ред
рдЬреИрд╕реЗ рдХрд┐рд╕реА рдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ (рдЕрд▓рд┐рдпрд╛рд╕рд┐рдВрдЧ рдкреИрдХреЗрдЬ) рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред
рдХреНрдпрд╛ `@ hot-loader/react-dom" рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдФрд░ gatsby-node.js рдореЗрдВ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдирд╛ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдпрд╛ рд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рд╣реИ? рдЕрдЧрд░ рдпрд╣ рд╕реНрдерд╛рдпреА рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЗрд╕реЗ рдЧреИрдЯреНрд╕рдмреА рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЕрдЧрд░ рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдмрдиреЗрдВ?
рдореИрдВ рдпрд╣ рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЪреАрдВрдЯреА рдбрд┐рдЬрд╛рдЗрди 4.1.5 рд╕реЗ v4.2.0 рддрдХ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП List.Item
рдШрдЯрдХ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА, рдФрд░ рдореБрдЭреЗ рдПрдХ рд╡рд░реНрдЧ рдШрдЯрдХ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рдереАред рдкреИрдЪ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдИред рдХрд╣рд╛рдиреА рдХрд╛ рдиреИрддрд┐рдХ: "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдП-рдбреЛрдо рдкреИрдЪ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╣реИ" рдЪреЗрддрд╛рд╡рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреА рд╣реИ!
@wardpeet рдореИрдВ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
react-dom
рдХреЛ @ hot-loader/react-dom рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВред
рдзрдиреНрдпрд╡рд╛рдж рдЗрд╕рдХреЗ рдХрд╛рдо
рдХреЛрдИ рдЦрдмрд░?
рдХреНрдпрд╛ рд╣рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ @wardpeet рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛?
рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрди рджрд┐рдиреЛрдВ рдЗрддрдиреЗ рдЕрдзрд┐рдХ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд▓рдХреНрд╖рдг рд╣реИред рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддреНрд░реБрдЯрд┐ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рд╣рд┐рдЯ рдФрд░ рдЖрд╢рд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рдареАрдХ рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рдВ, рдореБрдЭреЗ рд░реЗрдкреЛ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╣реЗ, рдореИрдВ рдЧреИрдЯреНрд╕рдмреА рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ред рдореЗрд░реЗ 2 рд╕реЗрдВрдЯред
рдЬрдм рднреА рдореИрдВ рдХреЛрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рдЖрддрд╛ рд╣реВрдВ:
https://github.com/gatsbyjs/gatsby-starter-default
рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рдиреЛрдЯ рдЕрдкрдиреЗ рд▓рд┐рдП рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдХреЛрдИ рднреА рдЬреЛ рдЗрд╕ рддрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ ЁЯСЛ (рдЕрд░реЗ рднрд╡рд┐рд╖реНрдп рдореБрдЭреЗ)
рдпрд╣ рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ - рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдХреЗрд▓реЗ рдЪрд▓рд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рдирд╣реАрдВ рд╣реЛрдЧреА:
npm install -D @hot-loader/react-dom
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП gatsby.node.js
рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:
exports.onCreateWebpackConfig = ({ stage, actions }) => {
if (stage.startsWith("develop")) {
actions.setWebpackConfig({
resolve: {
alias: {
"react-dom": "@hot-loader/react-dom",
},
},
})
}
}
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдмрддрд╛рдП рдЧрдП рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдкрд░ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐:
https://github.com/gatsbyjs/gatsby/issues/11934#issuecomment -538662592
"actions.setWebpackConfig рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ"
рдЖрдк GATSBY_HOT_LOADER=fast-refresh
рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ @hot-loader рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИ
рдЖрдкрдХреЛ рдЕрдкрдиреА рдкреИрдХреЗрдЬ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╣реЙрдЯ-рдбреЛрдо рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛рди рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
"@ рд╣реЙрдЯ-рд▓реЛрдбрд░/рд░рд┐рдПрдХреНрд╢рди-рдбреЛрдо": "^16.8.6",
рдФрд░ рдЕрдкрдиреЗ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдЖрдкрдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЙрдкрдирд╛рдо: { 'рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреЛрдо': '@ рд╣реЙрдЯ-рд▓реЛрдбрд░/рд░рд┐рдПрдХреНрдЯ-рдбреЛрдо'}
рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдХрд┐ рдЖрдкрдХреЛ https://github.com/gatsbyjs/gatsby/pull/26927 рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
@wardpeet - рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИ, рдФрд░ рд╣рд╛рдБ, рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред рдзрдиреНрдпрд╡рд╛рджред
рджреВрд╕рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдВрд╕реЛрд▓ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬрд╛ ... рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдХрд┐рд╕реА рднреА рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдпред
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХрдВрд╕реЛрд▓ рдХреЗ рднреАрддрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдкреВрд░реНрдгрддрд╛ рд╣реИ
рдореИрдВрдиреЗ рд╕реБрдЭрд╛рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
gatsby-config.js
рдореЗрдВ рдЬреЛрдбрд╝рд╛:exports.onCreateWebpackConfig = ({ stage, actions }) => {
if (stage.startsWith('develop')) {
actions.setWebpackConfig({
resolve: {
alias: {
'react-dom': '@hot-loader/react-dom'
}
}
});
}
};
рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдХреЛрдИ рдЙрдкрд╛рдп?
рдЧреИрдЯреНрд╕рдмреА рдЬрд╛рдирдХрд╛рд░реА
рдкреНрд░рдгрд╛рд▓реА:
рдУрдПрд╕: рд╡рд┐рдВрдбреЛрдЬ 10 10.0.16299
рд╕реАрдкреАрдпреВ: (8) x64 рдЗрдВрдЯреЗрд▓ (рдЖрд░) рдХреЛрд░ (рдЯреАрдПрдо) i7-6700HQ рд╕реАрдкреАрдпреВ @ 2.60GHz
рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝:
рдиреЛрдб: 14.6.0 - C:\Program Filesnodejsnode.EXE
рдпрд╛рд░реНрди: 1.22.4 - C:\Program Files (x86)\Yarn\binyarn.CMD
npm: 6.14.6 - C:\Program Filesnodejs\npm.CMD
рднрд╛рд╖рд╛рдПрдБ:
рдкрд╛рдпрдерди: 3.8.1 - /c/рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/ccordero/AppData/рд╕реНрдерд╛рдиреАрдп/рдХрд╛рд░реНрдпрдХреНрд░рдо/рдкрд╛рдпрдерди/рдкрд╛рдпрдерди38/рдкрд╛рдпрдерди
рдмреНрд░рд╛рдЙрдЬрд╝рд░:
рдзрд╛рд░: рд╕рдВрдпрдореА (41.16299.1004.0)
рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ:
рдЧреИрдЯреНрд╕рдмреА: ^2.18.18 => 2.24.33
рдЧреИрдЯреНрд╕рдмреА-рдкреНрд▓рдЧрдЗрди-рдореИрдирд┐рдлреЗрд╕реНрдЯ: ^2.4.22 => 2.4.22
рдЧреИрдЯреНрд╕рдмреА-рдкреНрд▓рдЧрдЗрди-рдСрдлрд╝рд▓рд╛рдЗрди: ^3.2.22 => 3.2.22
gatsby-source-graphql: ^2.7.0 => 2.7.0
рдЧреИрдЯреНрд╕рдмреА-рдереАрдо-рдХреЛрдбрдмреБрд╢реА: 1.0.0 => 1.0.0
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛, рдФрд░ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдиреЗ рдЕрдВрддрддрдГ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛:
рдЪрд▓ рд░рд╣рд╛ рд╣реИ:
yarn add react-dom<strong i="37">@npm</strong>:@hot-loader/react-dom
рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред
рд╕реЗ: рд░рд┐рдПрдХреНрдЯ-рдбреЛрдо - рд╣реЙрдЯ-рд▓реЛрдбрд░ рд╕рдВрд╕реНрдХрд░рдг рд░рд┐рд╡рд╛рдпрд░ - (рдпрд╛рд░реНрди) рдХреЛрдИ рдЕрдиреНрдп рд╕рд┐рд╕реНрдЯрдо
рдЪрд░рдг 1
рдпрд╣ рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ - рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдХреЗрд▓реЗ рдЪрд▓рд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рдирд╣реАрдВ рд╣реЛрдЧреА:
npm install -D @hot-loader/react-dom
рдЪрд░рдг 2
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
gatsby.node.js
рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:exports.onCreateWebpackConfig = ({ stage, actions }) => { if (stage.startsWith("develop")) { actions.setWebpackConfig({ resolve: { alias: { "react-dom": "@hot-loader/react-dom", }, }, }) } }
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдмрддрд╛рдП рдЧрдП рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдкрд░ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐:
#11934 (рдЯрд┐рдкреНрдкрдгреА)"actions.setWebpackConfig рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ"
рдореЗрд░реЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЙрд▓ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдореБрдЭреЗ рдЕрдкрдирд╛ рд╡рд░реНрддрдорд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
@zaktwist рдХреА рдкреЛрд╕реНрдЯ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ (https://github.com/gatsbyjs/gatsby/issues/11934#issuecomment-597560317)
npm add @hot-loader/react-dom@[YOUR_REACT_VERSION]
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП npm add @hot-loader/[email protected]
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣ "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдЧ" рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рдЗрдореЛрдЬреА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ
@hot-loader/react-dom
рдХреЛdevDependency
рдФрд░ рдЗрд╕ рд╣реБрдХ рдХреЛgatsby-node.js
рдЬреЛрдбрд╝рдирд╛: