ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π±ΡΠ» Π½Π΅ΡΠΌΠ΅ΡΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ,
ΠΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π½ CRA ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Express.js Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΡΠΊΡΠ½Π΄Π°.
ΠΠ°ΠΆΠ΅ΡΡΡ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ β ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ razzle Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ?
Π§ΡΠΎ ΠΌΠ½Π΅ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ ΠΏΡΠΎΡΡΠΎ Ρ
ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅?
Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ... Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π‘Π°ΠΌ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅ΡΠ΅Π· ΡΡΠΎ ΠΏΡΠΎΡ
ΠΎΠΆΡ.
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° CRA ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
/ΠΏΡΠΎΠ΅ΠΊΡΡ/ΠΌΠΎΠ΅-ΠΊΡΠ°-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΏΠΎΠ΄ Π²ΡΡΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ src , node_modules ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ CRA.
Π― Π½Π΅ ΠΌΠΎΠ³ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ razzle (ΠΈ ΡΠ½Π°ΡΠ°Π»Π° Ρ Π΄ΡΠΌΠ°Π», ΡΡΠΎ razzle Π·Π°ΠΌΠ΅Π½ΠΈΡ CRA ΠΈ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ Client-render (ΠΏΠΎΡΡ 3001) ΠΈ Server-render (ΠΏΠΎΡΡ 3000) ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎ ΡΡΠΎ ΡΠΎΠΆΠ΅ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ (Ρ Π·Π°Π΄Π°Π²Π°Π» Π²ΠΎΠΏΡΠΎΡ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ°Π½Π΅Π΅ Π·Π΄Π΅ΡΡ, Π½ΠΎ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π΅ Π±ΡΠ»ΠΎ).
Π’Π°ΠΊΠΆΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ (Π°Π»ΡΡΠ°) razzle Ρ webpack4, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ CRA ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ webpack (3), Ρ
ΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄Π»Ρ webpack 4 ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΠΈΡ
Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠΊΡ...
ΠΡΠ°ΠΊ, ΡΡΠΎ Ρ ΡΠ΄Π΅Π»Π°Π» Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, Π±ΡΠ»ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅
/ΠΏΡΠΎΠ΅ΠΊΡΡ/ΠΌΠΎΠ΅-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/app.src
/projects/my-app/app-cra, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ node_modules (Ρ ./src/, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ cra App.js App.css)
/projects/my-app/app-ssr, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ node_modules (Ρ ./src/, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅ΡΠΈ)
ΡΠΎΠ³Π΄Π° app-cra/src ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ../../app.src
ΠΈ app-ssr/src ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ../../app.src
ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ node_modules ΠΌΠ΅ΠΆΠ΄Ρ razzle ΠΈ cra.
ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, razzle Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ/ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ JS ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ (ΠΊΠ°ΠΊ ΠΈ cRA Π² ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ).
ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ rewire Π΄Π»Ρ CRA ΠΈ razle-config.js, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ±ΠΎΠΈΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΌΠΎΠΈ ΡΠ°ΠΉΠ»Ρ JS Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ.
Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ razle-config.js, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Π³ΠΎ Π·Π΄Π΅ΡΡ, Π² ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ΅ΠΊΠ° (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ SSR.. , ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΡ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ).
ΠΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π΄Π΅Π»Π°Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠ±ΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (react-native-web, react-vector-icons, sass, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ..., ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ node_modules, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΡ Π°Π²ΡΠΎΡΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ Π΄Π»Ρ Π²Π΅Π±- ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ Π΄Ρ.)
Π₯ΠΌ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°Ρ ΠΎΡΠ²Π΅Ρ. ΠΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Ρ ΠΎΡΡ
@ifndefdeadmau5 ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CRA.
Π°) ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ create-razzle-app Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΡΠΎΠ²Π½Π΅ ΠΏΠ°ΠΏΠΊΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ CRA.
Π±) ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π² ΠΎΠ±ΡΡΡ ΠΏΠ°ΠΏΠΊΡ.
c) Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° src Π΄Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ Π½Π° ΠΏΠ°ΠΏΠΊΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²Π°ΠΌΠΈ Π² b).
d) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ razzle-config.js ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠΎΠ½ΡΠΈΡΡΠΉΡΠ΅ (Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ CRA), ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π²Π΅Π±-ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ JS Π² ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΊΠ°Ρ , ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠ°Π³Π΅ c).
Π― Π½Π΅ ΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΡΡΡΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡ...
@jaredpalmer ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Ρ CRA Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΠ΅ΡΠ²Π΅ΡΠ° razzle ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΡΠ°ΠΉΠ»Π΅ readme? ΠΠ°ΡΠ°Π½Π΅Π΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
Π₯ΠΎΠ»Π°! ΠΡΠ°ΠΊ, Π²ΠΎΡ Π² ΡΠ΅ΠΌ Π΄Π΅Π»ΠΎ, ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΌΠΎΠ΅ΠΉ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΈ ΠΆΠΈΠ·Π½ΡΡ, Π° ΡΠ΅ΠΌ-ΡΠΎ Π΅ΡΠ΅, ΠΌΠ½Π΅ Π΅ΡΡΡ ΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΎΡΠ° GitHub, ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ Π·Π΄Π΅ΡΡ ΠΈ ΡΠ°ΠΌ. ΠΡΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π±ΠΎΡ GitHub ΠΏΠΎΠΌΠ΅ΡΠΈΡ ΡΡΠΎ ΠΊΠ°ΠΊ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Π² Π½Π΅ΠΌ Π½Π΅ Π±ΡΠ»ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ. ΠΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡ, Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄Π½Π΅ΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΡΠΎ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΡΠ΅ΡΠ΄ΡΡ β ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠ½Π΅ Π² ΠΠ‘, ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ Π³ΠΎΠ»ΡΠ±Ρ ΠΈΠ»ΠΈ Π΄ΡΠΌΠΎΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π».
ProBot Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΡΠ» ΡΡΠΎ ΠΈΠ·-Π·Π° Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡΠΈΠΊΠ½ΠΈΡΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈ ΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π΅Π³ΠΎ.
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡ. Π― ΡΠΎΠ·Π΄Π°Π» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ React. ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π½Π΅Π³ΠΎ razzle?
ΠΡΡΡ Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ?
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΡ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ.
Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Ρ Π½ΠΈΠΌ?
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΡΠΈΠΌ. Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CRA, ΠΈ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Razzle, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π² index.tsx
Π² client.tsx
ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ΅ΡΠ²Π΅Ρ Π² index.ts
, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ razzle start
ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠΎ ΠΎΠ½ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ²ΡΠ·Π°ΡΡ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ Π²ΡΠ΄Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠ°ΠΊ
These dependencies were not found:
* fs in ../.yarn/$$virtual/babel-plugin-styled-components-virtual-cfb9253662/0/cache/babel-plugin-styled-components-npm-1.11.1-9e78975a1c-4b545bed54.zip/node_modules/babel-plugin-styled-components/lib/visitors/displayNameAndId.js, ../.yarn/cache/cosmiconfig-npm-6.0.0-cb7d64a2b9-bbd6bbaefe.zip/node_modules/cosmiconfig/dist/readFile.js and 4 others
* module in ../.yarn/cache/resolve-patch-af4189aea7-9e62d2803a.zip/node_modules/resolve/lib/normalize-options.js, ../.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-87a4357c0c.zip/node_modules/resolve-from/index.js
Π£ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π±ΡΠ»ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠ»ΠΈ Π΅ΡΡΡ ΠΈΠ΄Π΅ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡ. Π― ΡΠΎΠ·Π΄Π°Π» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ React. ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π½Π΅Π³ΠΎ razzle?