https://kdydesign.github.io/2017/07/15/nodejs-npm-tutorial/#google_vignette
node js 와 npm의 연관 관계
Node.js와 npm(Node Package Manager)은 밀접한 연관 관계를 가지고 있으며, 다음과 같은 역할과 기능을 담당합니다:
- Node.js:
- Node.js는 JavaScript 런타임 환경으로, 브라우저 외부에서 JavaScript 코드를 실행할 수 있도록 합니다. 특히 서버 측에서 JavaScript로 애플리케이션을 작성할 수 있는 환경을 제공합니다.
- Node.js는 비동기 I/O 모델을 사용해 성능이 우수하며, 특히 서버에서 네트워크 애플리케이션을 구축할 때 주로 사용됩니다.
- 핵심적으로, Node.js는 JavaScript 엔진인 V8(Chrome에서 사용)을 사용하여 서버 측 코드를 효율적으로 실행합니다.
- npm:
- npm은 Node.js의 패키지 관리자로, Node.js 프로젝트에서 라이브러리 및 모듈을 관리하는 도구입니다.
- npm을 통해 오픈 소스 라이브러리, 프레임워크, 도구 등을 쉽게 설치하고 관리할 수 있습니다.
- npm 레지스트리에는 수많은 패키지가 등록되어 있어, 개발자가 프로젝트에 필요한 모듈을 간단히 설치하고 사용할 수 있습니다.
- 일반적인 사용 예로
npm install
명령어를 통해 프로젝트에 필요한 외부 라이브러리를 설치할 수 있습니다.
Node.js와 npm의 관계:
- npm은 Node.js의 기본 패키지 관리자로, Node.js 설치 시 자동으로 포함됩니다.
- Node.js 프로젝트에서는 npm을 사용하여 필요한 라이브러리를 설치하고, 이러한 패키지들은
node_modules
디렉토리에 저장됩니다.
- 또한, npm을 통해 Node.js 프로젝트의 **종속성(dependencies)**을 관리하는
package.json
파일이 생성됩니다. 이 파일은 프로젝트의 라이브러리 정보, 스크립트, 메타데이터 등을 관리하는 중요한 역할을 합니다.
따라서 Node.js는 서버 측에서 JavaScript를 실행하는 환경이고, npm은 그 환경에서 사용하는 패키지와 라이브러리를 관리하는 도구라고 볼 수 있습니다.
context 와 reducer 비슷한 역할을 한다.
state vs props:
- state는 컴포넌트 내부에서 관리되고 변할 수 있는 데이터이며, 컴포넌트 자체에서 생성하고 변경합니다.
- 반면, props는 부모 컴포넌트에서 자식 컴포넌트로 전달되는 데이터로, 자식 컴포넌트는 props를 읽기 전용으로 사용하며, 수정할 수 없습니다.
정리:
React의 state는 컴포넌트가 동적으로 관리해야 하는 데이터를 다루는 중요한 개념이며, state가 변경되면 React는 자동으로 컴포넌트를 다시 렌더링하여 화면을 업데이트합니다.
React Router는 SPA에서 페이지 전환을 관리하는 라이브러리로, URL 경로에 따라 특정 컴포넌트를 렌더링하고, 브라우저의 내비게이션 동작을 제어합니다
style (스토리북, 테일윈드)