๐ ๋ชฉ์ฐจ
1. Typescript + React ์ธํ โ
2. babel ์ธํ ๋ฐ Express.js ํ๋ ์์ํฌ ์ธํ โ
๐ฆ ์ด์ํ๊ฒฝ ๊ณ ๋ ค
๋ฐฐํฌ๋ฅผ ์๊ฐํ๋ฉด, ํ๋ก์ ํธ๋ฅผ ๋ฐ๋ก ๋ง๋๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์๋ฒ์ ์น ๋ณ๋๋ก repo๋ฅผ ์์ฑํด์ ์๋ฒ์ ์น ์ฝ๋๋ฅผ ๋ถ๋ฆฌํด์ ๋ฒ์ ์ ๊ด๋ฆฌํ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ ๊ฒ ๋๋ ์ ์ฝ๋๋ฅผ ๊ด๋ฆฌํ๋ฉด ์ข์ ์ ์ด ๋ฐฐํฌํ ๋, ์๋ฒ์ ์น์ ๋ณ๋๋ก ๋ฐฐํฌ๋ฅผ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ก์ปฌ์๋ ํ๋์ ํด๋์ ๋ ๊ฐ์ repo๋ฅผ ๋ฃ์ด์ ์ฌ์ฉํ๊ธฐ๋ก ํฉ๋๋ค.
ํ๋ก์ ํธ
ใด front-end
ใด back-end
โ Typescript + React ์ธํ
๋ก์ปฌ์ ํ๋ก์ ํธ ์์ฑํ ๋๋ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
npx create-react-app --template typescript ํ๋ก์ ํธ ์ด๋ฆ
yarn create react-app --template typescript ํ๋ก์ ํธ ์ด๋ฆ
ํ๋ก์ ํธ ํด๋๊ฐ ์๋ ๊ฒฝ์ฐ, ํ๋ก์ ํธ ํด๋์ ํ ๊ฒฝ๋ก์์ ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ ์คํํฉ๋๋ค.
npx create-react-app --template typescript .
์ค์น๊ฐ ๋๋๋ฉด, ํ๋ก์ ํธ ํ์ผ์ด ์๋์ผ๋ก ์์ฑ๋์ด ์์ต๋๋ค.
package.jsonํ์ผ์ script ๊ฐ์ฒด๋ฅผ ๋ณด๋ฉด, start ํค๊ฐ ์์ต๋๋ค.
ํ๋ก์ ํธ ํ ๊ฒฝ๋ก ํฐ๋ฏธ๋์์ npm start๋ก ์ฑ์ ์คํ์์ผ ๋ด ์๋ค.
์คํ ํ๋ฉด
๋ค. ์์ฉ๋๋ค.
testing-library๊ฐ cra์ ์๋์ผ๋ก ์ค์น๋์ด ์์ต๋๋ค. redux์ redux-saga๋ฅผ ์ค์นํด์ ์ํ๋ฅผ ๊ด๋ฆฌํด๋ด ์๋ค.
Redux & Redux-saga ์ค์น
โ Express.js ํ๋ ์์ํฌ ์ธํ
1. back-end ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ node ์ด๊ธฐํ๋ฅผ ํฉ๋๋ค.
$ npm init -y
2. Babel ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค. Oh my babel ์ฐธ๊ณ ํ๊ธฐ
$ npm i -D babel-cli
$ npm i -D babel-preset-es2015
.Babelrc ์ค์ ํ๊ณ , ์คํ ์, ๋น๋ํ๊ณ ์คํ๋๋๋ก package.json ์ค์ ์ ํด์ค๋๋ค. -> ํ์ธํ๊ธฐ
3. express๋ฅผ ์ค์นํฉ๋๋ค.
$ npm i express
server.js ํ์ผ์ ๋ง๋ญ๋๋ค.
const express = require('express');
const app = express();
const port = process.env.port || 3001;
app.use(bodyParser.json());
app.use('/api', (req, res) => res.json({ name: "์ ๋ฆ์ญ"}));
express.listen();
package.json ์ค์
script๊ฐ์ฒด์
"start":"node ./server.js"
์คํ
$ npm run start
โ nodemon์ผ๋ก node ์๋ฒ ๊ฐ๋ฐํ๊ฒฝ ์๋ํํ๊ธฐ
Prettierrc ์ธํ
์ด์ Prettierrc๋ฅผ ์ค์ ํ๊ฒ ์ต๋๋ค.
vscode plugin์ผ๋ก prettierrc๋ฅผ ๋ค์ด๋ฐ์ต๋๋ค.
ํ๋ก์ ํธ ํ ๊ฒฝ๋ก์ .prettierrc ํ์ผ์ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ , ๋ด์ฉ์ผ๋ก ๋ค์ ์ฝ๋๋ฅผ ๋ฃ์ต๋๋ค.
{
"printWidth": 200,
"trailingComma": "es5",
"tabWidth": 4,
"semi": true,
"singleQuote": true
}
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React-Redux] typescript๋ก ์ธํ ํ๋ ๋ฒ (0) | 2021.11.28 |
---|---|
๊นํ๋ธ ํ์ด์ง creat-react-app ๋ฐฐํฌํ๊ธฐ (0) | 2021.11.28 |
๊นํ๋ธ ํ์ด์ง creat-react-app ๋ฐฐํฌํ๊ธฐ (0) | 2021.11.27 |
[Redux] Redux๋? (0) | 2021.11.26 |
[React]react router ์ฌ์ฉ๋ฒ (0) | 2021.08.07 |
๋๊ธ