frontend๋ jupyterlab ์ปค์คํฐ๋ง์ด์ง ์ดํ๋ก ์ฒ์์ ๋๋ค. ์ฐ์ต์ฉ์ผ๋ก ์ฌ์ฉํ ๋งํ boilerplate์ ๊ฐ์ ํ๋ก์ ํธ๊ฐ ํ์ํด ์์ฑํด ๋ณด์์ต๋๋ค.
๊ณ๊ธฐ
ํจ์๋ฅผ ๋ง๋๋ ๊ฒ์ฒ๋ผ ์น ํ์ด์ง๋ฅผ ์ฝ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๊น?
ํ๋ ์์ด๋์ด์์ ์์ํด์, ์์์ ํ๋ฆ์ ๋ฐ๋ผ,
- ํ ํ๋ฆฟ์ธ๊น?
- ๊ทธ๋ฅ ํ์ด์ง๋ ์ฌ๋ฏธ์์์.
- ๊ทธ๋ผ react ํ์ด์ง๋ฅผ ์ฝ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๊น?
- ์ด๋ป๊ฒ?
- ์ด๋ค React project template์ด ์๋ค๋ฉด, ๊ฑฐ๊ธฐ์ ํ์ด์ง include ํ๋ฉด ์๋ผ?
ํ๋ ์๊ฐ์์, ํ ํ๋ฆฟ์ ๋ง๋ค์ด ๋ณด์์ต๋๋ค.
์์ฑ๋ ๋ชจ์ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ผ์ ํ ๊ฒ๋๋ค.
- npx create-react-app my-app –typescript
- cd my-app
- npm install –save typescript @types/node @types/react @types/react-dom @types/jest
- mv .\src\index.js .\src\index.tsx
- mv .\src\App.js .\src\App.tsx
- mv .\src\App.test.js .\src\App.test.tsx
- npm install –save bootstrap
- npm install node-sass –save
- mv .\src\App.css .\src\App.scss
nodejs ๊ฐ ์ค์น๊ฐ ์๋์ด ์๋์?
์๋์ฐ์ฆ ๊ฐ๋ฐํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ๊ฒ scoop์ผ๋ก ์ค์นํฉ๋๋ค.
scoop install nvm
nvm install latest
nvm use 14.13.1
sass ์ค์น
์, SASS๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ SASS ์ปค๋งจ๋๊ฐ ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค.
ํ ์ดํ๋ก์ ํธ์ด๊ณ , ์๋์ฐ์ฆ ๊ฐ๋ฐํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ๊ฒ scoop์ผ๋ก ์ค์นํฉ๋๋ค.
scoop install sass
sass --version
sass์ปค๋งจ๋๋ scss ํ์ผ์ css๋ก ๋ณํํ๋ ํด? ์ปดํ์ผ๋ฌ? ์ ๋๋ค.
sass ๋ฌธ๋ฒ์ ๋ํ ์ค๋ช ์ ์ด ๋ฌธ์์ ๋ชฉ์ ์์ ๋ฒ์ด๋๋ฏ๋ก, ๊ธฐ์ต์ผ๋ก ์ค๋ช ํ ์ ์๋ ๊ฒ๋ง ๊ฐ๋จํ๋ง ์๊ธฐํ๋ฉด
- nested definition
- ๋ณ์ ์ฌ์ฉ๊ฐ๋ฅ
- ์ฌ์น์ฐ์ฐ ์ฌ์ฉ๊ฐ๋ฅ
์ ๋์ผ ๋ฏ ํฉ๋๋ค.
sass๋ webstorm์ด scssํ์ผ์ ์ด๋ฉด ์๋์ผ๋ก ์ปดํ์ผํ๊ฒ ๋๋๋ฉฐ ๋ฌผ์ด์ค๋๋ฐ, ์ด๋ sass์ path๋ฅผ ์๋ ค์ฃผ๋ฉด ๋ฉ๋๋ค.
troubleshoot
- jsx ๋ฒ์ ์ javascript๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ typescript์ ํธํ์ด ๋ฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ .jsํ์ผ์ tsx๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ผ๋ก typescript ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- webstorm์์ scssํ์ผ์ด ์๋์ผ๋ก css๋ก ์ปดํ์ผ๋์ง ์๋๋ค๋ฉด, ๋ฌธ๋ฒ์ ์ํฅ์ ์ฃผ์ง ์๋ ๊ณณ์ ๊ณต๋ฐฑ๋ฌธ์๋ฅผ ๋ฃ๊ณ ์ ์ฅํด์ฃผ๋ฉด ์๋์ผ๋ก cssํ์ผ์ ์ปดํ์ผํด ๋ ๋๋ค.
- sass๋ฒ์ ์ด ๋ง์ง ์๋๋ค๋ ์๋ฌ๊ฐ ๋์ฌ ์ ์์ต๋๋ค. react-bootstrap์ด ์ฝ๊ฐ sass๋ฒ์ ์ด ๋ฎ์ ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค. package.json์ sass๋ฒ์ ์ด
5.0.0
์ผ๋ก ๋์ด ์๋ค๋ฉด,4.0.0
์ผ๋ก ๋ณ๊ฒฝํด ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. - App.tsx๋ index.tsxํ์ผ์์ react๋ฌธ๋ฒ์ ์ธ์ํ์ง ๋ชปํ๋ ์๋ฌ๋ฅผ ๋ด๊ณ ์๋ค๋ฉด,
import * as React from 'react'
๋ฅผ ๋ฃ์ด ์ฃผ๋ฉด ํด๊ฒฐ๋ฉ๋๋ค.
storm .
npm run build
npm start
bootstrap
https://create-react-app.dev/docs/adding-bootstrap ์์ ์ค๋ช ํ๊ณ ์๋ ๋ด์ฉ์ ๋๋ค.
custom.scss๋ฅผ ๋ง๋ค์ด ๋๊ณ
|
|
index.tsx์ ์ด๊ฒ์ ๋ฃ์ต๋๋ค.
|
|
๊ฒฐ๊ณผ
๊ฒฐ๊ณผํ๋ฉด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.