CRA๋ ํ๋ก์ ํธ ์ด๊ธฐ ์ธํ ๋ฐ ๋ณต์กํ ๊ณผ์ ์ ํด๊ฒฐํด์ค๋๋ค.
์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ก ํ์ ์คํฌ๋ฆฝํธ ํ๊ฒฝ์ ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
yarn create react-app my-app --template typescript
์ด๋ ๊ฒ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด ๋ฐ๋ฒจ์ด๋ ์นํฉ ๊ฐ์ ์ข ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ค์ ์ด ๋ณด์ด์ง ์์ต๋๋ค.
์จ๊ฒจ์ง ์ข ์์ฑ ๋ฐ ์ค์ ์ ํ์ธํ๊ณ ์์ ํ๊ธฐ ์ํด์๋ eject ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ผ ํ๋๋ฐ ์ด ๋ฐฉ๋ฒ์ ๋จ๋ฐฉํฅ ํ๋ก์ธ์ค๋ก ํ๋ฒ ์คํํ๋ฉด ๋ค์ ์์ํ๋ก ๋ณต๊ตฌํ ์ ์๊ณ ์ดํ ์ง์ ์ ์ง๋ณด์๋ฅผ ํด์ผ ํฉ๋๋ค.
๊ธฐ์กด ์ค์ ์ ์ ์งํ๋ฉด์ ์๋ก ์ถ๊ฐํ๊ณ ์ถ์ ์ค์ ๋ง ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
์ด ๋ฐฉ๋ฒ์ ๊ธฐ์กด ์ค์ ๋ค์ ์ ๊ฒฝ ์ฐ์ง ์๊ณ ์ํ๋ ์ค์ ๋ง ์ ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ ๋ฐ ์ ์ง ๋ณด์ํ๊ธฐ ์ข์ต๋๋ค.
CRA๋ก ํ๋ก์ ํธ๋ฅผ ์ค์นํ ํ ๋ค์๊ณผ ๊ฐ์ ํจํค์ง๋ค ์ค์นํฉ๋๋ค.
customize-cra(eject ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ง ์๊ณ webpack.config์ ๊ฐ์ ์ค์ ํ์ผ์ ์์ ํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.)
GitHub - arackaf/customize-cra: Override webpack configurations for create-react-app 2.0
Override webpack configurations for create-react-app 2.0 - GitHub - arackaf/customize-cra: Override webpack configurations for create-react-app 2.0
github.com
Install
yarn add customize-cra react-app-rewired --dev
- ์๋์ ๊ฐ์ด config-overrides.js (package.json๊ณผ ๊ฐ์ ๋ ๋ฒจ) ํ์ผ์ ์์ฑํฉ๋๋ค.
const { override, addWebpackAlias } = require('customize-cra');
const path = require('path');
module.exports = override(
addWebpackAlias({
'@': path.resolve(__dirname, 'src'),
})
);
- package.json์ react-scripts -> react-app-rewired๋ก ๋ณ๊ฒฝํฉ๋๋ค.
...
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
},
...
yarn start๋ฅผ ํตํด ์คํํด ๋ณด๋ฉด ์ ์์ ์ผ๋ก ๋์ํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
'Frontend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ๋ฒจ(Babel) ์ค์ ํ๊ธฐ (0) | 2022.10.31 |
---|---|
React-Query (1) | 2022.10.11 |
React์์ setInterval ์ฌ์ฉํ๊ธฐ (0) | 2022.07.28 |
React 18 ๋ฒ์ ์ ๋ฐ์ดํธ ์ ๋ฆฌ (0) | 2022.07.27 |
TDD (ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ) (0) | 2022.06.23 |