์นธํ๋ผ๐ - ๋ช ๋ถ ์์ ์๋ฒ ์๋ Fullstack React ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ CLI ๋๊ตฌ
4688 ๋จ์ด reactshowdevnodetypescript
๐ฅ Cantara ๐ฅ
TypeScript๋ฅผ ์ฌ์ฉํ์ฌ Fullstack React ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ CLI ๋๊ตฌ
Website โข GitHub โข Chat on Spectrum
โ ๋ญ ๊ณต๋ถ ํด์?
Cantara ๋ํ:
๋ ธ๋, TypeScript ๋ฐ React ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํฉ๋๋ค.
์ด ๋๊ตฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ ๋ก ๊ตฌ์ฑ ๋๊ตฌ์ ๋๋ค.
Cantara๋ ๋จ์ผ ์ ์ฅ์ ์ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ผ์ดํ ์ฌ์ดํด์ ๋ชจ๋ ์ธก๋ฉด์ ํฌ๊ดํ๊ธฐ ์ํด ์ค๊ณ๋์์ต๋๋ค.
๋ฐ๋ผ์ ๋ณธ์ง์ ์ผ๋ก Fullstack TypeScript ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ฝ๊ฒ ํ๋ ๋๊ตฌ์ ๋๋ค.
โจ๋ ์ ์ ์ค์ , ๋ ๋ง์ ์ธ์ฝ๋ฉ.โจ
โก ํน์ง
โ ๋ฌด์ ๋๋ฌธ์
์ ๋ ํ์ฌ ์ ๋ฌธ์ ์ผ๋ก ์ข ์ฌํ ๋๋ถ๋ถ์ ํ๋ก์ ํธ์ ๋จ๋ ๊ฐ๋ฐ์๋ ํ์ด๋ ๋ชจ๋ ๋ํ ๋จ์ผ ์ ์ฅ์ ํ์์ผ๋ก ๊ตฌ์ถ๋ ๊ฒ์ ๋๋ค. ๊ทธ ์ค์์ ์ฌ๋ฌ ๊ฐ์ API์React ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ์ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ํํฉ๋๋ค.์ด ์์ ํ๋ฆ์ ๋ง์ ์ฅ์ ์ด ์์ง๋ง ๋ฌถ์, ์ ์ก, ํ๊ฒฝ ๋ณ์, ํ ์คํธ, CI/CD ๋ฑ ๋ชจ๋ ์ ์์ ํ๋ณดํ๊ธฐ ์ํ ๋๋์ ์ค์ ๋ ํฌํจํ๋ค.์ด๊ฒ์ ๊ณง ํต์ ๋ ฅ์ ์๊ฒ ๋ ๊ฒ์ด๋ค.์ด์ ์ด๋ฌํ ๋ณต์ก์ฑ์ ์ด๋ฌํ ์ฌ์ค๊ณผ ๊ฒฐํฉ๋ฉ๋๋ค. ์ฆ, ํ๋์ ์ ์ฅ์๊ฐ ์์ ๋ฟ๋ง ์๋๋ผ ํ์ฌ๋ง๋ค ์ฌ๋ฌ ๊ฐ์ ์ ์ฅ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ช ์ญ ๊ฐ์ ๋ค๋ฅธ ํ๋กํ์ด ์์ต๋๋ค. ๋ชจ๋ ํ์ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ์๋ฌด๋ฅผ ์ํํ๋ ค๊ณ ํฉ๋๋ค.ํ ์ค์ ์์ ํจํค์ง ํ๋ฌ๊ทธ์ธ์ ๋ณ๊ฒฝํ๋ ๊ฒ๋ ๋ชจ๋ ๋ค๋ฅธ ํญ๋ชฉ์ ๋ฐ์ํด์ผ ํฉ๋๋ค.Cantara์ ๋ชฉํ๋ ์ด ๋ชจ๋ ๋๊ตฌ์ ์ฌ์ฉํ๊ธฐ ์ฌ์ด ์ถ์์ ์ธ ์ธต์ ์ถฉ๋นํ์ฌ ๋น์ ์ ์ ์ง์ ๋ฐฉํดํ๊ณ ๋ง์ ๊ท์คํ ์๊ฐ์ ์๋ชจํ๋ ์ง๋ฃจํ ๋ถ๋ถ์ ์์ ๋ ๊ฒ์ด๋ค.ํ๋ฃจ ์ข ์ผ ์น ํจํค์ง๋ฅผ ์ค์ ํ๋ ๊ฒ์ ์ข์ํ๋ ์ฌ๋์ ์๋ฌด๋ ์๋ค.๐).
๐ฅ ์ ๋ฌธ
๊ทธ๋งํด, ์ด์ ์ธ๋ชจ ์๋ ์ผ์ ํ์.
Cantara๋ฅผ ์ฌ์ฉํ์ฌfullstack ์น ํ๋ก๊ทธ๋จ์ ์์ํ๊ณ ์คํํ๋ ๊ฒ์ ๋ ๋ช ๋ น์ ์คํํ๋ ๊ฒ์ฒ๋ผ ๊ฐ๋จํฉ๋๋ค.์ฐ๋ฆฌ ์์ํฉ์๋ค!
์ฐ์ ์ ์ธ๊ณ์ ์ผ๋ก Cantara๋ฅผ ์ค์นํฉ๋๋ค.
npm i -g cantara
์ ๋ฐฉ๊ณผ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ํ์ํ ๋ชจ๋ ๊ฐ๋ฐ ์์กด ํญ๋ชฉ์ ์ค์นํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ข ๊ฑธ๋ฆด ์ ์์ต๋๋ค.๋ค์์ ์ ๋ ฅํ์ญ์์ค.
ctra init my-fullstack-app
cd my-fullstack-app
์ด๊ฒ์ ์์ ํ๋ก๊ทธ๋จ์ ํฌํจํ๋ ์ ํด๋๋ฅผ ๋ง๋ค ๊ฒ์
๋๋ค.์ด์ Cantara์ CLI ๋ง๋ฒ์ฌ๋ฅผ ์์ํ์ฌ ํ์ฌ ์ ์ฅ์์ ๋ชจ๋ ์ต์ ์ ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
ctra
dev
๋ช
๋ น์ ์ ํํ๊ณ ์์ฉ ํ๋ก๊ทธ๋จrandom-image-app
์ ์ ํํ์ญ์์ค. ์ด๊ฒ์ ๊ท์ฌ์ด ์์ React ํ๋ก๊ทธ๋จ์ผ๋ก Unsplash์ ๋ฌด์์ ์ด๋ฏธ์ง๋ฅผ ํ์ํฉ๋๋ค.์ด React ์์ฉ ํ๋ก๊ทธ๋จ์ ํฌํธ
3000
์์ API ์๋ฒ๊ฐ ์คํ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ์์ํฉ์๋ค!์ด ์์
์ ์ํํ๋ ค๋ฉด ์ ํฐ๋ฏธ๋์์ ๋ฐฉ๊ธ ์๋ฃํ ์์
ctra
-> dev
์ ๋ฐ๋ณตํ์ง๋ง ์ด๋ฒ์๋ express-api
์ ์ ํํฉ๋๋ค.์๋ฒ๊ฐ ์์๋๋ฉด localhost:8080 ๋ก ์ด๋ํ์ฌ ๋ค์์ ๋ณผ ์ ์์ต๋๋ค.
์ด์
react-apps/random-image-app/src
๋๋ node-apps/express-api/src
์๋์ ํ์ผ์ ํธ์งํ๊ณ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค!์ React ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ API๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์คํnew
๋ช
๋ น๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ๋จํฉ๋๋ค.์ถ๊ฐ ์ ๋ณด, go to the docs.์ด ๋น ๋ฅธ ์ ๋ฌธ ์๋ด์๋ ํ๋ฉด์๋ง ๋ฟ์ง๋ง, Cantara๊ฐ ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ ๋ค์ (๋๋ ๊ธฐ์กด) ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๋ฐ ๋์์ ์ค ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
๋ง์ฝ Cantara๊ฐ ๋น์ ์ ํฅ๋ฏธ๋ฅผ ๋ถ๋ฌ์ผ์ผํจ๋ค๋ฉด, ๋ค์์ ๋น์ ์ ๊ณต๋ถํ๊ฒ ํ๋ ๋งํฌ์ ๋๋ค.
๐ ํ์ธต ๋ ์ฝ๋ค
Quick Start
Website
Docs
Github
๐ฌ ์ปค๋ฎค๋ํฐ
๋ง์ฝ ๋น์ ์ด ๋ฌธ์ , ์๊ฐ, ํน์ ๋จ์ง ์ด์ผ๊ธฐ๋ฅผ ๋๋๊ณ ์ถ๋ค๋ฉด, Cantara์ ์คํํธ๋ผ ์ปค๋ฎค๋ํฐ์ ๊ฐ์ ํ์ธ์!๊ฑฐ๊ธฐ์ ๋ง๋์ ๋ฐ๊ฐ์ต๋๋ค.๐
ํธ์ํฐ์์ ๋๋ฅผ ์ฐพ์:
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(์นธํ๋ผ๐ - ๋ช ๋ถ ์์ ์๋ฒ ์๋ Fullstack React ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ CLI ๋๊ตฌ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/scriptify/cantara-a-cli-tool-to-create-serverless-fullstack-react-apps-in-minutes-23gํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค