λλ create-razzzle-appμ μ€μ νκ³ λ§ν¬λ μΈ λ‘κ·ΈμΈμ μν΄μ΄ npm λͺ¨λμ μΆκ°
μ΄ npm λͺ¨λμλ μ€λ₯λ₯Ό λ°μμν€λ css λ° img κ°μ Έ μ€κΈ°κ° μμ΅λλ€.
β Client
Compiled successfully in 3.39s
β Server
Compiled successfully in 420.40ms
C:\scoot-webapp\node_modules\react-linkedin-login-oauth2\assets\index.css:1
.btn-linkedin {
^
SyntaxError: Unexpected token .
at Module._compile (internal/modules/cjs/loader.js:721:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (C:\scoot-webapp\node_modules\react-linkedin-login-oauth2\lib\LinkedIn.js:14:1)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
μ΄ λͺ¨λμ΄ μ€μΉλλ λμ κ°λ° μλ²κ° μ€ν μ€μ΄μμ΅λλ€. λλ κ·Έκ²μ μΆκ°νκ³ μ¬μ©νμ΅λλ€. ν« λ¦¬λ‘λ ν μ μλνλ κ² κ°μ΅λλ€.
κ·Έλ¬λ μλ²λ₯Ό λ€μ μμν νμ λ¬Έμ κ° λ°μνμ¬ μ΄μ ν΄λΉ λͺ¨λμμ μꡬνλ css λ° imgλ₯Ό ν΄κ²°ν μ μμ΅λλ€.
λκ΅°κ°κ° webpack config λλ babel configλ₯Ό νμ₯νμ¬μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©λ²μ μλ΄ν΄ μ€ μ μλ€λ©΄ μ λ§ λμμ΄ λ κ²μ λλ€.
λ΄κ° μκ°ν μμλ λ¬Έμ λ CSS κ·μΉμ λν΄ razzle/config/createConfig.js
λ₯Όλ³΄κ³ λ
Έλμ postcss-loader
λ₯Ό μ¬μ©νμ§ μλλ€λ κ²μ
λλ€. κ·Έλ¬λ κ·Έκ²μ΄ μ€μ μμΈμΈμ§ λλ ν΄κ²° λ°©λ²μΈμ§ νμ€νμ§ μμ΅λλ€.
@ ravikp7 μ루μ μ
@Ekman μλμ, νλμ μ°Ύμ λ³΄μ§ μμμ΅λλ€.
λλ μμ§λ μ΄κ²μ μμ λ΄λ €κ³ λ Έλ ₯νκ³ μλ€.
λ λ¨κ³λ₯Ό κ±°μ³ CRAμμ Razzleλ‘ λ§μ΄κ·Έλ μ΄μ νμ΅λλ€.
μΈλΆ λΌμ΄λΈλ¬λ¦¬μμ μ°¨λ‘λ‘ μ°Έμ‘°λλ μΈλΆ λΌμ΄λΈλ¬λ¦¬μμ CSS νμΌμλ‘λνλ λ° λ¬Έμ κ° μμ΅λλ€.
μ£Ό νλ‘μ νΈλ 1 λ¨κ³ νμ μ μ»΄νμΌλ©λλ€.νμ§λ§ SSRμ νμ±ννλ €κ³ νλ©΄ λ€μ μ€λ₯κ° λ°μν©λλ€.
> razzle start
WAIT Compiling...
Using .babelrc defined in your app root
Using .babelrc defined in your app root
β Client
Compiled successfully in 7.13s
β Server
Compiled successfully in 1.95s
(node:15016) UnhandledPromiseRejectionWarning: C:\main-project\node_modules\react-dates\lib\css\_datepicker.css:1
.PresetDateRangePicker_panel {
^
SyntaxError: Unexpected token '.'
at Module._compile (internal/modules/cjs/loader.js:895:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (C:\main-project\node_modules\@company\libraryY\dist\cjs\index.js:29:1)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
(node:15016) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:15016) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
μ°λ¦¬λ λΌμ΄λΈλ¬λ¦¬ X μμ y.css λ₯Ό μ£Όμ μ²λ¦¬νκ³ λ©μΈ νλ‘μ νΈμ μ§μ νμΌμ ν¬ν¨ μμΌ°μ΅λλ€. λ¬Έμ κ° μ΄λμΈμ§ μ μ μμ΅λλ€.
κ°μ μ€λ₯κ° λ°μνμ΅λλ€. μ무λ ν΄κ²°μ± μ μ°Ύμμ΅λκΉ?
μ΄κ²μ΄ μ¬μ ν λ¬Έμ λΌλ©΄ λκ΅°κ°κ° κ°λ¨ν μλ₯Ό λ§λ€ μ μμ΅λκΉ?
μ무λ ν΄κ²°μ± μ μ°Ύμμ΅λκΉ?
μ΄ λ¬Έμ λ₯Ό μ¬ν ν μ μμ΅λλ€. κ°λ¨ν μμ λ₯Ό λ§λ€κ±°λ μ νν μ μ°¨μ ꡬμ±μ 보μ¬μ€ μ μμ΅λκΉ? μ΄κ²μ΄ λ§μ μ¬λλ€μκ² λ¬Έμ λΌλ©΄ μ°λ¦¬λ κ·Έκ²μ κ³ μΉκ³ μΆμ΅λλ€ π
μ¬κΈ°μ 리ν¬μ§ν 리λ₯Ό λ§λ€κ³ κ²μ ν΄ λ³΄κ² μ΅λλ€. (λΉκ³΅κ°) CRA μ±μ λ§μ΄κ·Έλ μ΄μ νκ³ μμμ§λ§μ΄ λ¬Έμ μ μ§λ©΄νμ΅λλ€. modaliλΌλ ν¨ν€μ§λ₯Ό μ»΄νμΌνλ λμ μ€ν¨νμ΅λλ€. μλ§λ ν΄λΉ ν¨ν€μ§κ° λ΄λΆμ μΌλ‘ CSS νμΌμ κ°μ Έ μ€κΈ° λλ¬ΈμΌ κ²μ λλ€. λ¬Έμ μ€ νλμ μ μμ λ°λΌ razzle.config.jsμμ config.externalsλ₯Ό μ κ±°νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
@fivethreeo μλ νμΈμ, λ²κ·Έλ₯Ό μ¬ννλ μμ νλ‘μ νΈλ₯Ό λ§λ€μμ΅λλ€. https://github.com/fa7ad/razzle-bug-test μμ μ΄ν΄λ³΄μΈμ
yarn start
μ΄ μμ λ razzle 3.1.0μ μ¬μ©νλ©°, μ΄μ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μμλ 3.1.2κ° μμ΅λλ€.
razzle μ 3.1.3
λ‘ μ
λ°μ΄νΈνμ§λ§ μ¬μ ν λμΌν λ¬Έμ κ° μμ΅λλ€ π
μΆμ . 리ν¬μ§ν 리λ μ λ°μ΄νΈν©λλ€. λ€μ νμΈ ν΄μ£ΌμΈμ.
@ fa7ad μ΄μ λ₯Ό μ°Ύμμ΅λλ€ :) https://github.com/upmostly/modali/issues/34
@ ravikp7 κ·νμ λ¬Έμ κ° μ΅κ·Όμ μμ λ λ¬Έμ λΌκ³ μκ°ν©λλ€.
μ΄ λ¬Έμ λ λ°μν©λλ€. μ΄ λ¬Έμ λ₯Ό μ€λͺ νλ λ² μ΄ λ³Έ μ μ₯μλ₯Ό λ§λ€μμ΅λλ€ : https://github.com/christiannaths/razzle-css-example
λ
Έλ v12.18.3
razzle 3.1.6
μ΄κ²μ μλ² μ»΄νμΌμ μ€λ¨μν€λ λ³κ²½ μ¬νμ λλ€ (ν΄λΌμ΄μΈνΈκ° μ μ»΄νμΌλλ κ² κ°μ΅λλ€) https://github.com/christiannaths/razzle-css-example/commit/123e73fb31123f1615a96e3ef0567d887c7094ea
μ¬κΈ°μμ μ°Ύμ μμλμ΄ λ¬Έμ μ κ΄λ ¨λ κ²μΌλ‘ 보μ΄λ λͺ¨λ λ¬Έμ λ₯Ό μ½μμΌλ©°, μμ§ν λ§νμλ©΄ SSR μΉν© / 리 μ‘νΈ μ±κ³Ό κ΄λ ¨νμ¬ λκ° λΉ μ§ κ²μ΄ μλμ§ 100 % νμ ν μλ μμ΅λλ€. μ€μ λ‘ μλνμ§ μμμΌ νλκ° ??
μ¬μ©μ μ§μ razzle.config.js
νμΌμ μΉν© ꡬμ±μ console.log
νλ©΄ web
λ° node
μ css-loaderκ° λ€λ₯Έ κ²μ λ³Ό μ μμ΅λλ€. μ κ·Έλ°μ§ μ λͺ¨λ₯΄κ² μ΅λλ€. λ‘컬 CSS νμΌμ κ°μ Έ μ€λ κ²κ³Ό node_modules
μμ κ°μ Έ μ€λ κ² μ¬μ΄μ μ°¨μ΄μ μ μμλΌ μ μμ΅λλ€.
μ΄ λ¬Έμ μ λν λͺ νν λ΅λ³μ λλ¨ν κ°μ¬νκ² μ΅λλ€ π
reset-css / reset.css μλ
λΉ λ₯Έ λ΅λ³ κ°μ¬ν©λλ€. λ€, μ½κ°μ μ κ΅¬κ° μμ΅λλ€. κ°μ¬ν©λλ€.
μ΄κ²μ΄ μ¬μ ν μ΄μμ μ΄μ§ μλ€κ³ μκ°νλ κ²μ΄ μλͺ»μ λκΉ? λ§μ ν¨ν€μ§κ° readmeμ μ΄λ¬ν μ νμ μ 보λ₯Ό νμνμ§ μμΌλ―λ‘ μμ μ μ₯μκ° μλ ν κ²μΌλ‘ κΈ°λν©λλ€. κ·Έλ μ§ μμΌλ©΄ κ° ν¨ν€μ§μ μμ€λ₯Ό μ΄ν΄λ³΄κ³ νμν λ€μν CSS νμΌμ΄ μ΄λμ μλμ§ μ°ΎμμΌν©λλ€.
μ¦,
node_modules/reset-css/rest.css
node_modules/typeface-amiri/index.css
λ¬Έμ μ ν¨ν€μ§λ λͺ¨λ package.json.main
νλͺ©μ κ°κ°μ CSS νμΌμ μ μνλ―λ‘ μ΄λ¬ν κ°μ Έ μ€κΈ° (css νμΌμ λν κ²½λ‘ μ§μ μμ΄)κ° μλ ν κ²μΌλ‘ μμν©λλ€.
mainμ cjs λͺ¨λμ κ²½λ‘ μ¬μΌνλ€κ³ μκ°ν©λλ€. μ€νμΌ μ λͺ¨λ₯΄κ² μ΅λλ€. λ°λΌμ index.jsμλ reset.cssκ° μμ΄μΌν©λλ€.
λ€, λ§μ΄ λλ€μ. νμ§λ§ μμ§ν μμ§λ νΌλ μ€λ½μ΅λλ€. λ΄κ° μ€ μμ λ μ΄λ° μμΌλ‘ μλνλ μ μΌν ν¨ν€μ§μ λλ€. μ΄λ° μ’ λ₯μ κ²μ λͺ¨λ κ³³μμ λ°κ²¬λλ©° κΈ°λ³Έμ μΌλ‘ λ€λ₯Έ λ§μ μμ€ν (next.js, create-react-app, react-static)μμ λͺ¨λ μλν©λλ€.
μ΄ λ¬Έμ μ ν΅μ¬μ ν΄κ²° λ°©λ²μ΄λ νμ¬ ν¨ν€μ§ λ³κ²½ μμ²μΌλ‘ ν΄κ²°λμ§ μλλ€κ³ μκ°ν©λλ€. μ¬μ ν λ¨μμλ κ·Όλ³Έμ μΈ μ§λ¬Έμ΄ μμ΅λλ€.
μ΄κ²μ΄ λ³νμ ν보λΌκ³ μκ°νμλ©΄ κΈ°κΊΌμ΄ λ Έλ ₯νκ² μ΅λλ€.
ν΄κ²°μ± μ μ°Ύμ μ μλ€λ©΄ λλ κ·Έκ²μ μν΄ λͺ¨λμ λλ€ :)
κ·Έλμ μ’μμ. μ΄κ²μ΄ μ λ§λ‘ λ°λμ§νμ§ μμ νλμ΄λΌλ κ²μ μμνλ κ² κ°μΌλ―λ‘μ΄ λ¬Έμ λ₯Ό λ€μ μ΄μ΄μ λ μ μΆμ ν μ μλλ‘ κ³ λ € νμκ² μ΅λκΉ (κ·Έλ¦¬κ³ μ¬κΈ°μ μ€λ λ€λ₯Έ μ¬λλ€μ΄μ΄ λ¬Έμ κ° μ§μ λ¬Έμ λΌλ κ²μ μ΄ν΄νλλ‘ λμ μ£Όμκ² μ΅λκΉ)?
λ¬Έμ λ λ©μΈ νλμ λν κ·μΉμ΄ μμ§λ§ νμ μΌμμμ λ°λ₯΄λ κ²μ μλλλ€.
λ΄κ° μκ°νλ nodeexternals μ’ λ΄ :)
λ©μ§λ€, μ, webpack ꡬμ±μ κ°λ΅ν μ΄ν΄λ³΄λ©΄ κ·Έκ²μ΄ λλ½ λ κ²μ²λΌ 보μμ΅λλ€. λ΄κ° ν μμλ ν 빨리 κ·Έκ²μ κ°μ§κ³ λ κ²μ΄λ€
λλ node-externalsκ° .css λ§ μ§μ νμ©νκΈ° λλ¬Έμ μ΄κ²μ΄ μμΈμ΄λΌκ³ μκ°ν©λλ€.
devμμ μμ
razzle v3.3.13μ μ¬μ©νκ³ μμ΅λλ€. razzle.config.js νμΌμ νμν λ³κ²½ μ¬νμ 무μμ λκΉ?
β Client
Compiled successfully in 46.33s
β Server
Compiled successfully in 46.04s
G:\razzle-webapp\node_modules\react-images-upload\index.css:1
.fileUploader {
^
SyntaxError: Unexpected token '.'
at wrapSafe (internal/modules/cjs/loader.js:1072:16)
at Module._compile (internal/modules/cjs/loader.js:1122:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object.<anonymous> (G:\Webelight\adamsea-web-Fix-mansi-mar-10-add-razzle\node_modules\react-images-upload\compiled.js:17:1)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
μ΄κ²μ ν¨ν€μ§κ° μλ² μΈ‘μμ ꡬμ λκΈ° λλ¬Έμ λ°μν©λλ€. μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©λ²μ 보μ¬μ£ΌκΈ° μν΄ λ¬Έμλ₯Ό μ λ°μ΄νΈνκ² μ΅λλ€.
razzle 3.4.2 λ° λ¬Έμμμ μμ λ¨
https://razzlejs.org/getting-started#common -issues
https://razzle-git-canary-jared.vercel.app/getting-started#common -issues
@fivethreeo λΉ λ₯Έ μλ΅κ³Ό μ루μ μ κ°μ¬λ립λλ€. κ½€ μ μλν©λλ€ !!
κ°μ₯ μ μ©ν λκΈ
devμμ μμ