React를 하기 위한 기초적인 환경 구성
2024. 2. 9. 11:23ㆍ꿀팁 분석 환경 설정
개발환경 설정
node 설치 (버전 확인)
node -v
npm install -g create-react-app
리액트 앱 생성
다음과 같은 장점이 있어서 npx로 설치를 합니다.
- 간편한 설치: "npx"는 npm 패키지를 다운로드하지 않고 바로 실행할 수 있도록 해주는 도구입니다. 따라서 "create-react-app"을 전역으로 설치할 필요가 없습니다.
- 최신 버전의 React 템플릿: "create-react-app"은 항상 React의 최신 버전을 사용하여 애플리케이션을 생성합니다. 이는 React의 새로운 기능과 최적화를 즉시 활용할 수 있게 해줍니다.
- 설정의 간소화: "create-react-app"은 기본적으로 React 애플리케이션을 생성하는 데 필요한 모든 설정을 자동으로 처리합니다. 이는 개발자가 초기 설정에 시간을 쏟지 않고 바로 코딩에 집중할 수 있도록 도와줍니다.
- 기본적인 개발 서버 포함: "create-react-app"은 개발을 위한 기본적인 개발 서버를 제공하여 개발자가 빠르게 프로토타입을 만들고 실시간으로 변경 사항을 확인할 수 있도록 합니다.
- 최신 JavaScript 표준 지원: "create-react-app"은 최신 JavaScript 표준을 사용하여 프로젝트를 설정합니다. 이는 최신 ECMAScript 표준을 사용하여 개발할 수 있게 해주며, Babel과 같은 도구를 사용하여 이전 브라우저와의 호환성도 자동으로 처리합니다.
npx create-react-app my-app
생성을 하면 이런 식으로 생성하게 된다.
여기서 이제 처음부터 개발자가 개발할 때 기존 것을 제거하고 핵심만 남기는 작업을 해서 정리해본다.
일단 css 를 다 다시 만들기 위해서 제거한다.
파일 삭제 리스트
- src
- App.css
- App.test.js
- index.css
- logo.svg
- reportWebVitals.js
- setupTests.js
src/App.js 수정
기존 코드
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
수정 코드
function App() {
return (
<div>
<h1> Hello World!</h1>
</div>
);
}
export default App;
src/index.js 수정
기존 코드
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
수정 코드
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
프로젝트 실행
package.json
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
npm start
localhost:3000에 나오는 것을 확인할 수 있습니다
ReactJS로 영화 웹 서비스 만들기 에서 알려준 방법을 사용하여 기본적인 환경을 구성해봤다.
기초적인 환경 구성이 어려웠던 분들은 위의 내용을 참고하시면 좋을 것 같습니다!
추가) 의존성으로 다시 설치해야할 경우
새로운 것을 만들다가 새로운 패키지를 설치하다 보니, 의존성으로 인해 아예 망가지는 경우가 생겼다.
ChatGPT한테 물어봐서 지우라해서 지웠더니, 어떤 것부터 설치할 지 모르는 상황이 생겼다.
그래서 다시 할 경우에 대해서도 정리해본다.
1. 파일 및 폴더 제거
- node_modules
- package.json
- package_lock.json
2. package.json 새로 만들기
일단 기본 베이스는 기존 것을 참고해서 이런 식으로 작성해두면 좋을 것 같다.
{
"name": "my-app", # 원하는 것 입력
"version": "0.1.0", # 원하는 것 입력
"private": true,
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
3. 추가 패키지 설치
npm install react-router-dom
npm install react
npm install react-scripts
일단 이런식으로 설치하면 다시 환경을 구성할 수 있다.
추가) gh-page 를 이용해서 github page에 올려보기
1. 패키지 설치
npm install gh-pages
2. package.json에 명령어 및 홈페이지 주소 추가 추가
{
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"deploy": "gh-pages -d build", # 추가
"predeploy": "npm run build" # 추가
},
"homepage": "https://[id].github.io/[repository_name]/" # 맞춰서 작성
}
3. 케바케) github에 추가를 하지 않은 경우 다음과 같은 작업을 해야함.
# Add a remote origin
git remote add origin https://github.com/[username]/[repository].git
# Verify the remote was added
git remote -v
4. 배포하기
npm run deploy
5. 배포결과
어느정도 시간이 지나면, 배포가 된 결과를 볼 수 있습니다.
https://[username].github.io/[repository-name]/
728x90
'꿀팁 분석 환경 설정' 카테고리의 다른 글
N8n) 웹 크롤링 기반 자동 분석 및 결과 전송 워크플로우 (1) | 2024.10.19 |
---|---|
Git Branch 협업 방법론 정리 (1) | 2023.12.28 |
2022년 이후 노트북 사볼만한 것 정리해보기 (12) | 2022.03.01 |
vscode) 동일한 화면 생성하는 방법 (0) | 2021.08.29 |
VSCode에서 Google Colab GPU Runtime 접속하기 (4) | 2021.03.01 |