1. 리액트 환경 구축을 위한 사전 준비
리액트 애플리케이션을 개발하기 위해 사전에 필요한 몇 가지 준비 작업이 있습니다. 다음과 같은 단계로 진행해보겠습니다.
1.1 Node.js 및 npm 설치
Node.js는 JavaScript를 실행할 수 있는 환경을 제공하며, npm(Node Package Manager)은 패키지 관리를 위한 도구입니다. 리액트 애플리케이션을 개발하기 위해 Node.js와 npm을 설치해야 합니다. 아래는 각각의 설치 방법입니다.
- Node.js 설치 방법 - 1. 공식 웹사이트(http://nodejs.org/)에서 Node.js 다운로드 페이지로 이동합니다. 2. 다운로드 페이지에서 운영체제에 맞는 LTS(Long-Term Support) 버전을 선택하고 다운로드합니다. 3. 다운로드한 설치 파일을 실행하여 Node.js를 설치합니다. - npm 설치 방법 - Node.js를 설치하면 자동으로 npm도 함께 설치됩니다. 설치가 완료된 후에는 다음 명령어를 사용하여 npm 버전을 확인할 수 있습니다.
npm --version
1.2 Create React App으로 프로젝트 생성
Create React App은 리액트 애플리케이션을 빠르게 생성할 수 있는 도구입니다. 아래의 명령어로 Create React App을 전역으로 설치하고, 새로운 프로젝트를 생성할 수 있습니다.
npx create-react-app my-app
위의 명령어를 실행하면 “my-app”이라는 이름의 새로운 디렉토리가 생성되고, 리액트 애플리케이션의 초기 구조와 설정이 자동으로 생성됩니다.
1.3 프로젝트 구조 및 파일 설명
리액트 애플리케이션의 구조는 Create React App을 사용하였을 때 아래와 같이 생성됩니다.
my-app/ ├── node_modules/ // 프로젝트 의존성 모듈 ├── public/ // 정적 파일 (index.html 등) ├── src/ // 소스 코드 │ ├── App.js // 메인 컴포넌트 │ ├── index.js // 엔트리 파일 │ └── ... ├── package.json // 프로젝트 정보와 의존성 관리 └── ...
– `node_modules`: 프로젝트의 의존성 모듈이 설치되는 디렉토리입니다.
– `public`: 정적 파일들이 위치하는 디렉토리입니다. 주로 index.html과 같은 파일이 존재합니다.
– `src`: 소스 코드들이 위치하는 디렉토리입니다. 리액트 컴포넌트와 관련된 파일들이 여기에 저장됩니다.
– `App.js`: 기본적인 리액트 애플리케이션의 컴포넌트 파일입니다.
– `index.js`: 애플리케이션의 엔트리 파일로서, ReactDOM.render() 함수를 통해 컴포넌트를 렌더링하는 역할을 합니다.
2. Node.js 및 npm 설치
Node.js는 JavaScript를 실행하기 위한 환경을 제공하며, npm(Node Package Manager)은 패키지 관리를 위한 도구입니다. 아래는 각각의 설치 방법입니다.
2.1 Node.js 설치
Node.js를 설치하기 위해서는 다음의 단계를 따르면 됩니다.
1. 공식 웹사이트(http://nodejs.org/)에서 Node.js 다운로드 페이지로 이동합니다.
2. 다운로드 페이지에서 운영체제에 맞는 LTS(Long-Term Support) 버전을 선택하고 다운로드합니다.
3. 다운로드한 설치 파일을 실행하여 Node.js를 설치합니다.다음은 Node.js 설치 과정을 코드로 예시를 들어 보겠습니다.
- Node.js 설치 예시 코드 - 1. Node.js 공식 웹사이트(http://nodejs.org/)로 이동하여 다운로드 페이지로 이동합니다. 2. 운영체제에 맞는 LTS 버전을 선택하고 다운로드합니다. 3. 다운로드한 설치 파일을 마우스로 더블 클릭하여 실행합니다. 4. 설치 마법사의 단계를 따라 설치합니다. 5. 설치가 완료되면 터미널 또는 명령 프롬프트에서 다음 명령어를 실행하여 버전을 확인합니다.
node --version
2.2 npm 설치
Node.js를 설치하면 자동으로 npm도 함께 설치됩니다. 설치가 완료된 후에는 다음 명령어를 사용하여 npm 버전을 확인할 수 있습니다.
npm --version
위의 명령어를 실행하면 현재 설치된 npm의 버전이 출력됩니다.
3. Create React App으로 프로젝트 생성
Create React App은 리액트 애플리케이션을 빠르게 생성할 수 있는 도구입니다. 아래는 Create React App을 이용해 프로젝트를 생성하는 방법입니다.
3.1 Create React App 설치
Create React App을 사용하기 위해서는 프로젝트를 생성하는 위치에서 다음 명령어를 사용하여 Create React App을 전역으로 설치해야 합니다.
npx create-react-app <프로젝트이름>
위 명령어를 실행하면 새로운 디렉토리가 생성되고, 리액트 애플리케이션의 초기 구조와 설정이 자동으로 생성됩니다. `<프로젝트이름>` 자리에 원하는 프로젝트 이름을 입력하세요.
3.2 프로젝트 생성 예시
다음은 Create React App을 사용하여 프로젝트를 생성하는 예시 코드입니다.
npx create-react-app my-app
위의 명령어를 실행하면 “my-app”이라는 이름의 프로젝트가 생성됩니다.
프로젝트를 생성한 후에는 다음 명령어를 사용하여 프로젝트 디렉토리로 이동합니다.
cd my-app
4. 프로젝트 구조 및 파일 설명
Create React App으로 생성된 프로젝트는 다음과 같은 구조와 파일을 가지고 있습니다.
4.1 구조
프로젝트의 기본적인 구조는 다음과 같습니다.
my-app ├── node_modules ├── public │ ├── favicon.ico │ ├── index.html │ └── manifest.json ├── src │ ├── App.css │ ├── App.js │ ├── index.css │ ├── index.js │ └── logo.svg ├── .gitignore ├── package.json ├── README.md └── yarn.lock
위의 구조에서 각 디렉토리와 파일들은 다음과 같은 역할을 수행합니다.
– `node_modules`: 프로젝트에서 사용하는 외부 패키지들이 설치되는 디렉토리입니다.
– `public`: 정적 파일들이 위치하는 디렉토리입니다. 이 디렉토리의 파일들은 빌드 시에 변경되지 않고 그대로 복사됩니다.
– `src`: 소스 코드가 위치하는 디렉토리입니다.
– `.gitignore`: Git으로 관리하지 않을 파일 및 디렉토리를 설정하는 파일입니다.
– `package.json`: 프로젝트에 대한 정보와 의존성 관리를 위한 파일입니다.
– `README.md`: 프로젝트에 대한 설명과 문서를 작성하는 파일입니다.
– `yarn.lock` (또는 `package-lock.json`): 프로젝트의 의존성을 관리하는 파일로, 패키지 버전의 일관성을 유지합니다.4.2 파일 설명
아래는 몇 가지 중요한 파일들에 대한 설명입니다.
– `public/index.html`: 리액트 애플리케이션의 기본 HTML 파일입니다. `public` 디렉토리 내부의 다른 파일들과 번들된 JavaScript 파일이 연결되어 애플리케이션을 구동시킵니다.
– `src/index.js`: 리액트 애플리케이션의 진입점입니다. 여기에서 DOM에 리액트 컴포넌트를 렌더링합니다.
– `src/App.js`: 기본으로 생성된 컴포넌트입니다. 이곳에서 애플리케이션의 레이아웃 및 컴포넌트들을 정의할 수 있습니다.
– `src/App.css`: `App.js` 컴포넌트에 적용되는 스타일을 정의할 수 있는 CSS 파일입니다.
– `src/logo.svg`: 기본 로고 이미지 파일입니다. 예시 파일일 뿐 실제 애플리케이션에서는 사용되지 않을 수 있습니다.이 외에도 다양한 파일과 디렉토리가 있으며, 필요에 따라 새로운 컴포넌트나 파일을 생성하여 사용할 수 있습니다.
5. 개발 환경 설정
리액트 프로젝트를 개발하기 위해서는 적절한 코드 에디터와 디버깅 도구를 설정해야 합니다.
5.1 코드 에디터
코드 에디터는 개발할 때 사용하는 텍스트 편집기로서, 리액트 프로젝트를 개발하기에 많이 사용되는 코드 에디터 몇 가지를 소개합니다.
– Visual Studio Code (VSCode): Microsoft에서 개발한 무료 코드 에디터입니다. 다양한 확장 기능과 디버깅 기능을 제공하여 리액트 프로젝트 개발에 많이 사용됩니다.
– Atom: GitHub에서 개발한 오픈소스 코드 에디터로서, 커스터마이징이 용이하고 다양한 패키지를 지원하여 많은 개발자들에게 사랑받는 에디터입니다.
– Sublime Text: 간결하고 가볍게 사용할 수 있는 코드 에디터로서, 다양한 기능과 플러그인을 지원합니다.5.2 디버깅 도구
디버깅 도구는 코드의 버그를 찾아 해결하는 데 도움을 주는 도구입니다. 리액트 프로젝트를 개발할 때 가장 많이 사용되는 디버깅 도구는 브라우저의 개발자 도구입니다.
– Google Chrome 개발자 도구: Chrome 브라우저에서 제공하는 개발자 도구로, 네트워크 통신, DOM 탐색, 디버깅 등 다양한 기능을 제공합니다.
– Firefox 개발자 도구: Firefox 브라우저에서 제공하는 개발자 도구로, Chrome 개발자 도구와 유사한 기능을 제공합니다.디버깅 도구를 사용하면 코드 실행 중에 발생하는 문제들을 쉽게 분석하고 수정할 수 있으며, 애플리케이션의 상태를 확인하고 디버깅에 도움을 주는 다양한 도구를 활용할 수 있습니다.
5.3 예시
아래는 Visual Studio Code와 Chrome 개발자 도구를 사용하여 리액트 프로젝트를 개발하는 예시 코드입니다.
// Visual Studio Code에서 파일을 열기 code . // Chrome 개발자 도구 열기 1. Chrome 브라우저에서 웹앱을 실행합니다. 2. 오른쪽 상단의 메뉴 버튼(세로 점 3개)을 클릭합니다. 3. More Tools(추가 도구) 메뉴에서 "Developer Tools"를 선택합니다. 4. 개발자 도구 창이 열리면 "Sources" 탭에서 자바스크립트 파일을 확인하고 디버깅을 수행할 수 있습니다.
위 예시 코드를 참고하여 코드 에디터와 디버깅 도구를 설정하고 원하는 개발환경을 구성할 수 있습니다.
6. 리액트 개발을 위한 필수 패키지 설치
리액트 개발을 위해 몇 가지 필수적인 패키지를 설치해야 합니다. 이 패키지들은 프로젝트 생성 시 자동으로 설치되는 경우도 있으며, 수동으로 설치해야 할 경우에는 다음과 같은 방법을 사용할 수 있습니다.
6.1 패키지 관리 도구 선택
리액트 프로젝트를 개발하기 위해 필요한 패키지들을 설치하려면 패키지 관리 도구를 선택해야 합니다. 대표적인 패키지 관리 도구로는 NPM과 Yarn이 있으며, 이 중에서 선택하여 사용할 수 있습니다.
– NPM (Node Package Manager): Node.js와 함께 제공되는 패키지 관리 도구로, 기본적으로 설치됩니다.
– Yarn: Facebook에서 개발한 패키지 관리 도구로, NPM보다 빠르고 안정성이 높은 것으로 알려져 있습니다.프로젝트의 초기 세팅을 진행하기 전에 패키지 관리 도구를 선택하고 설치해야 합니다. NPM을 기본적으로 제공하기 때문에 별도의 설정 없이 바로 사용할 수 있습니다. Yarn을 사용하려면 먼저 Yarn을 설치해야 합니다.
6.2 패키지 설치
리액트 개발을 위해 필요한 필수 패키지들은 `create-react-app` 패키지를 사용하여 프로젝트를 생성하면 자동으로 설치됩니다.
1. 터미널을 열고 프로젝트를 생성할 디렉토리로 이동합니다.
2. 다음 명령어를 실행하여 리액트 프로젝트를 생성합니다.npx create-react-app my-app
3. 프로젝트 생성이 완료되면 생성된 프로젝트 디렉토리로 이동합니다.
cd my-app
4. 프로젝트 디렉토리에서 다음 명령어를 실행하여 필수 패키지들을 설치합니다.
npm install
또는,
yarn install
위 명령어를 실행하면 `package.json` 파일에 명시된 필수 패키지들이 자동으로 설치됩니다.
6.3 추가 패키지 설치
리액트 개발 시 필요한 추가 패키지들은 `npm` 또는 `yarn` 명령어를 사용하여 직접 설치할 수 있습니다. 예를 들어, 리액트 라우터와 스타일링을 위한 패키지를 설치하려면 다음과 같은 명령어를 실행합니다.
npm install react-router-dom npm install styled-components
또는,
yarn add react-router-dom yarn add styled-components
위와 같이 패키지들을 설치하면 프로젝트에서 사용할 수 있습니다.
7. 리액트 컴포넌트 작성 및 관리 방법
리액트는 컴포넌트 기반으로 UI를 구성하는 데 중점을 둡니다. 이번 섹션에서는 리액트 컴포넌트의 작성과 관리 방법을 알아보겠습니다.
7.1 컴포넌트 작성
리액트 컴포넌트는 JavaScript 클래스 또는 함수로 작성할 수 있습니다. 클래스 컴포넌트는 `React.Component` 클래스를 상속받아 작성하며, 함수 컴포넌트는 함수 형태로 작성합니다.
클래스 컴포넌트 예시:
import React from 'react'; class MyComponent extends React.Component { render() { return ( <div> <h1>Hello, World!</h1> </div> ); } } export default MyComponent;
함수 컴포넌트 예시:
import React from 'react'; function MyComponent() { return ( <div> <h1>Hello, World!</h1> </div> ); } export default MyComponent;
위의 예시에서 `render()` 메서드 또는 함수의 반환값이 JSX 형식으로 작성되어야 합니다. JSX는 리액트에서 사용되는 특별한 문법으로, JavaScript와 HTML을 조합하여 사용할 수 있습니다.
7.2 컴포넌트 관리
리액트 프로젝트에서는 여러 개의 컴포넌트를 작성하고 관리해야 합니다. 이를 위해 컴포넌트 파일을 적절히 구성하고 컴포넌트들을 조합하여 사용합니다.
– 단일 파일 컴포넌트: 작은 규모의 컴포넌트는 한 개의 파일에 작성할 수 있습니다. 이 경우 컴포넌트를 파일별로 구분하여 작성하면 관리하기 편리합니다.
– 여러 파일 컴포넌트: 큰 규모의 프로젝트에서는 컴포넌트들을 여러 파일로 분리하여 작성하는 것이 일반적입니다. 이때, 컴포넌트의 기능, 역할 또는 위치에 따라 디렉토리를 구성하는 것이 좋습니다.예를 들어, 다음과 같은 컴포넌트 구조를 가진 프로젝트를 생각해보겠습니다.
src/ components/ Dashboard/ Dashboard.js Header/ Header.js Footer/ Footer.js pages/ Home/ Home.js About/ About.js
위의 구조에서는 `components` 디렉토리와 `pages` 디렉토리로 컴포넌트들을 구분하여 관리하고 있습니다. 이렇게 파일과 디렉토리를 구조화하여 컴포넌트를 관리하면 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.
7.3 컴포넌트 사용
작성한 컴포넌트는 다른 컴포넌트 내에서 사용할 수 있습니다. JSX 문법을 사용하여 해당 컴포넌트를 호출하고 렌더링할 수 있습니다.
예시:
import React from 'react'; import MyComponent from './MyComponent'; function App() { return ( <div> <h1>My App</h1> <MyComponent /> </div> ); } export default App;
위 예시에서 `MyComponent`를 `App` 컴포넌트 내에서 호출하고 있습니다. 이렇게 하면 `MyComponent`가 `App` 컴포넌트에 포함되어 렌더링됩니다.
위와 같이 컴포넌트를 호출하고 조합하여 사용하여 리액트 애플리케이션을 개발합니다.
8. 상태 관리 라이브러리 사용 방법
상태 관리 라이브러리는 리액트 애플리케이션에서 상태를 효율적으로 관리하기 위해 사용됩니다. 대표적인 상태 관리 라이브러리로 Redux와 MobX가 있으며, 이번 섹션에서는 이 두 라이브러리의 사용 방법에 대해 알아보겠습니다.
8.1 Redux
Redux는 리액트 애플리케이션의 상태를 통일된 방식으로 관리하기 위해 사용되는 상태 관리 라이브러리입니다. Redux에서는 상태 관리를 위해 스토어(store)를 사용하며, 액션(action)과 리듀서(reducer)를 통해 상태를 변경합니다.
1. 액션(action) 작성: 액션은 상태 변경을 위해 발생시키는 이벤트를 정의하는 객체입니다.
const increment = () => { return { type: 'INCREMENT' }; };
2. 리듀서(reducer) 작성: 리듀서는 액션에 따라 상태를 변경하는 함수입니다.
const counterReducer = (state = 0, action) => { switch (action.type) { case 'INCREMENT': return state + 1; default: return state; } };
3. 스토어(store) 생성: createStore 함수를 사용하여 스토어를 생성합니다.
import { createStore } from 'redux'; const store = createStore(counterReducer);
4. 컴포넌트에서 상태 사용: 컴포넌트에서 상태를 사용하기 위해 connect 함수를 사용합니다.
import { connect } from 'react-redux'; function Counter({ count, increment }) { return ( <div> <h2>Count: {count}</h2> <button onClick={increment}>Increment</button> </div> ); } const mapStateToProps = state => { return { count: state }; }; const mapDispatchToProps = { increment }; export default connect(mapStateToProps, mapDispatchToProps)(Counter);
위의 예시에서는 Counter 컴포넌트에서 상태(`count`)와 액션(`increment`)을 사용하고 있습니다. connect 함수를 사용하여 컴포넌트와 Redux 스토어를 연결하고 상태와 액션을 전달합니다.
8.2 MobX
MobX는 리액트 애플리케이션에서 상태 관리를 좀 더 간편하게 할 수 있도록 도와주는 상태 관리 라이브러리입니다. MobX에서는 상태를 관찰 가능한 객체로 선언하고, 이를 컴포넌트에서 사용하여 상태 변경을 감지합니다.
1. 상태 관찰 가능한 객체 작성: @observable 데코레이터를 사용하여 관찰 가능한 상태를 정의합니다.
import { observable } from 'mobx'; class CounterStore { @observable count = 0; increment() { this.count++; } } const counterStore = new CounterStore(); export default counterStore;
2. 컴포넌트에서 상태 사용: 상태를 사용하기 위해 observer 함수를 사용합니다.
import { observer } from 'mobx-react'; import counterStore from './counterStore.js'; function Counter() { return ( <div> <h2>Count: {counterStore.count}</h2> <button onClick={() => counterStore.increment()}>Increment</button> </div> ); } export default observer(Counter);
위의 예시에서는 Counter 컴포넌트에서 counterStore라는 MobX 스토어의 상태(`count`)와 액션(`increment`)을 사용하고 있습니다. observer 함수를 사용하여 컴포넌트를 관찰 가능한 상태와 연결합니다.
이와 같이 Redux와 MobX를 사용하여 리
9. 빌드 및 배포 방법
리액트 애플리케이션을 빌드하고 배포하는 과정에 대해 알아보겠습니다. 일반적으로 리액트 프로젝트는 개발 중에는 개발 서버를 사용하여 실시간으로 변경 사항을 확인하고, 최종적으로 애플리케이션을 빌드하여 정적 파일로 배포합니다.
9.1 개발 서버 실행
개발 서버를 실행하면 개발 중에 코드 변경 사항이 실시간으로 반영되는 것을 확인할 수 있습니다.
npm start
위의 명령어를 실행하면 개발 서버가 시작됩니다. 기본적으로 http://localhost:3000 주소에서 애플리케이션에 접속할 수 있습니다.
9.2 애플리케이션 빌드
애플리케이션을 배포하기 전에 빌드 과정을 거쳐 정적 파일을 생성해야 합니다. 빌드 명령어는 다음과 같이 실행합니다.
npm run build
위의 명령어를 실행하면 프로젝트의 `build` 디렉토리에 애플리케이션의 정적 파일이 생성됩니다. 이 단계에서는 코드 최적화, 번들링, 파일 압축 등의 작업이 이루어집니다.
9.3 애플리케이션 배포
빌드된 정적 파일을 웹 서버에 배포하는 방법은 다양합니다. 가장 일반적인 방법은 정적 파일을 호스팅 서비스에 업로드하는 것입니다. 이는 Netlify, Vercel, GitHub Pages, AWS S3 등 다양한 호스팅 서비스를 이용할 수 있습니다.
정적 파일을 업로드한 후 호스팅 서비스에서 제공하는 도메인 이름 또는 사용자 정의 도메인을 통해 애플리케이션에 접속할 수 있습니다.
예시로 Netlify를 사용한 배포 과정을 알아보겠습니다.
1. Netlify 계정 생성 및 로그인
2. 새 사이트 생성
3. 빌드 설정: 빌드 명령어에 `npm run build`를 입력합니다.
4. 빌드된 정적 파일 업로드: `build` 디렉토리 내의 파일을 업로드합니다.
5. 도메인 설정: Netlify에서 제공하는 도메인 또는 사용자 정의 도메인을 설정합니다.
6. 배포 완료: 설정한 도메인을 통해 애플리케이션에 접속할 수 있습니다.이와 같이 호스팅 서비스에 애플리케이션을 배포하면 사용자들이 접근하여 애플리케이션을 이용할 수 있습니다.
10. 환경 변수 설정 및 환경별 구성 관리
애플리케이션을 다른 환경(개발, 테스트, 프로덕션)에서 실행하고 관리할 때, 환경 변수를 설정하고 해당 환경에 맞는 구성을 관리하는 것이 중요합니다. 이를 통해 애플리케이션을 다양한 환경에서 안정적으로 실행하고 유지보수할 수 있습니다.
10.1 환경 변수 설정
환경 변수는 애플리케이션에서 사용되는 설정 값들을 저장하는 변수입니다. 주로 애플리케이션의 비밀 키, API 엔드포인트, 데이터베이스 정보 등을 저장합니다. 리액트 애플리케이션에서는 `.env` 파일을 사용하여 환경 변수를 설정할 수 있습니다.
1. `.env` 파일 생성: 프로젝트 루트 폴더에 `.env` 파일을 생성합니다.
2. 변수 설정: `.env` 파일에 변수를 설정합니다. `REACT_APP_` 접두사로 시작하는 변수는 리액트에서 인식합니다.예시:
REACT_APP_API_KEY=YOUR_API_KEY REACT_APP_API_URL=https://api.example.com
위의 예시에서 `REACT_APP_API_KEY`와 `REACT_APP_API_URL`은 환경 변수 이름이고, `YOUR_API_KEY`와 `https://api.example.com`은 해당 변수에 대한 값입니다.
3. 환경 변수 사용: 리액트에서 환경 변수를 사용하려면 `process.env` 객체를 통해 접근합니다.
const apiKey = process.env.REACT_APP_API_KEY; const apiUrl = process.env.REACT_APP_API_URL;
위의 예시에서 `process.env.REACT_APP_API_KEY`는 `.env` 파일에 설정된 `REACT_APP_API_KEY` 환경 변수의 값입니다.
10.2 환경별 구성 관리
각 환경마다 애플리케이션의 구성이 다를 수 있습니다. 예를 들어 개발 환경에서는 디버그 모드를 활성화하고, 프로덕션 환경에서는 압축된 파일을 사용하는 것이 보편적입니다. 리액트 애플리케이션에서는 `env-cmd` 패키지를 사용하여 환경별 구성 관리를 할 수 있습니다.
1. `env-cmd` 설치: 터미널에서 다음 명령어로 `env-cmd`를 설치합니다.
npm install env-cmd
2. `package.json`에 스크립트 추가: `env-cmd`를 사용하는 스크립트를 `package.json` 파일에 추가합니다.
예시:
"scripts": { "start": "env-cmd -f .env.development react-scripts start", "build": "env-cmd -f .env.production react-scripts build", "test": "env-cmd -f .env.test react-scripts test", ... },
위의 예시에서 `.env.development`, `.env.production`, `.env.test` 파일은 각각 개발, 프로덕션, 테스트 환경에 대한 환경 변수 설정 파일입니다.
3. 환경 변수 파일 작성: 각 환경에 대한 환경 변수 설정 파일을 작성합니다.
예시:
`.env.development`:
REACT_APP_API_KEY=DEV_API_KEY REACT_APP_API_URL=http://localhost:8000/api
`.env.production`:
REACT_APP_API_KEY=PROD_API_KEY REACT_APP_API_URL=https://api.example.com
위의 예시에서 `.env.development` 파일은 개발 환경에 대한 설정이며, `.env.production` 파일은 프로덕션 환경에 대한 설정입니다.
4. 스크립트 실행: 각 환경별로 애플리케이션을 실행하거나 빌드할 때, 해당 스크립트를 실행합니다.
예시:
npm start # 개발 환경 실행 npm run build # 프로덕션 환경 빌드 npm test # 테스트 환경 실행
위의 예시에서 `npm start` 명령어는 개발 환경에서 애플리케이션을 실행하며, `npm run build` 명령어는 프로덕션 환경에서 애플리케이션을 빌드합니다.
위의 과정을 통해 환경 변수 설정과 환경별 구성 관리를 할 수 있으며, 각 환경에 맞게 애플리케이션을