
// a.js
export const sum = (a, b) => a + b; // 이름을 지정하여 내보냄
export const multiply = (a, b) => a * b;
-----------------------------------------------
// b.js
import { sum, multiply } from './a'; // 중괄호로 이름을 가져옴
console.log(sum(2, 3)); // 5
console.log(multiply(4, 5)); // 20
-----------------------------------------------
// c.js
import { sum as add, multiply as times } from './a'; // sum => add, multiply => times 로 바꿈.
console.log(add(2, 3)); // 5
console.log(times(4, 5)); // 20
// a.js
const subtract = (a, b) => a - b;
export default subtract; // 기본으로 내보내기
-----------------------------------------------
// b.js
import minus from './a'; // 이름을 자유롭게 사용 가능
console.log(minus(10, 5)); // 5
// a.js
export const sum = (a, b) => a + b;
export const multiply = (a, b) => a * b;
const subtract = (a, b) => a - b;
export default subtract; // Default Export
-----------------------------------------------
// b.js
import minus, { sum, multiply } from './a';
console.log(sum(2, 3)); // 5
console.log(multiply(4, 5)); // 20
console.log(minus(10, 5)); // 5
// a.js
const favoriteFruit = '딸기';
export default favoriteFruit; // Default Export
export const apple = '사과';
export const banana = '바나나';
export function eatFruit() {
console.log('맛있게 먹습니다!');
}
-----------------------------------------------
// b.js
import favorite, * as 과일뭉치 from './a.js';
console.log(favorite); // '딸기' (Default Export로 가져온 값)
console.log(과일뭉치.apple); // '사과'
console.log(과일뭉치.banana); // '바나나'
과일뭉치.eatFruit(); // '맛있게 먹습니다!'
favorite는 bbb.js에서 Default Export로 내보낸 값 favoriteFruit을 가져온 것
import * as 과일뭉치는 Named Export로 내보낸 값들을 모두 하나의 객체로 묶어 가져온다. ex) 과일뭉치.apple, 과일뭉치.banana, 과일뭉치.eatFruit 등
npx create-react-app my-app
cd my-app
npm start
npx create-react-app my-app: 새로운 리액트 프로젝트를 생성합니다.(이 때, my-app 대신 원하는 디렉토리명을 작성해도 좋고, .을 입력하면 현재 위치한 디렉토리에 리액트 프로젝트가 설치됩니다.)
cd my-app: 생성된 프로젝트 디렉토리로 이동합니다.
npm start: 개발 서버를 실행하여 애플리케이션을 브라우저에서 볼 수 있습니다.
// 프로젝트 초기화
npm init # package.json 파일을 생성해서 프로젝트 설정 시작
npm init -y # 질문 없이 기본 설정으로 package.json 파일 생성
// 패키지 설치
npm install 패키지명 # 특정 패키지 설치
npm install -g 패키지명 # 전역 설치 (모든 프로젝트에서 사용 가능
// 패키지 제거
npm uninstall 패키지명 # 설치된 패키지 제거
// 전체 의존성 설치
npm install
npm init: 새로운 프로젝트를 생성하고 package.json 파일을 만듭니다.
npm install [패키지명]: 특정 패키지를 설치합니다.
npm run [스크립트명]: package.json에 정의된 스크립트를 실행합니다.
npm install: package.json에 명시된 모든 의존성 패키지를 설치합니다.
// Yarn 설치
npm install -g yarn # Yarn을 전역 설치
// 설치 확인
yarn -v # Yarn 버전 확인
// 프로젝트 초기화
yarn init # Yarn으로 프로젝트 초기화
// 패키지 제거
yarn remove 패키지명 # 설치된 패키지 제거
// 전체 의존성 설치
yarn install # 프로젝트의 모든 의존성 설치
yarn init: 새로운 프로젝트를 생성하고 package.json 파일을 만듭니다.
yarn add [패키지명]: 특정 패키지를 설치합니다.
yarn install: package.json과 yarn.lock에 명시된 모든 의존성 패키지를 설치합니다.
yarn run [스크립트명]: package.json에 정의된 스크립트를 실행합니다.
속도: Yarn은 병렬로 패키지를 설치하기 때문에 npm보다 더 빠릅니다.
캐싱: Yarn은 패키지를 한 번 설치하면 오프라인에서도 설치할 수 있는 캐싱 기능을 제공합니다.
버전 관리: Yarn은 yarn.lock 파일을 사용해 의존성 버전을 더욱 엄격하게 관리하며, npm도 최근에는 package-lock.json을 통해 이 기능을 제공합니다.

파일 및 디렉토리 관리
ls: 현재 디렉토리의 파일과 폴더 목록을 표시합니다.
cd [디렉토리]: 지정한 디렉토리로 이동합니다.
pwd: 현재 작업 중인 디렉토리의 경로를 표시합니다.
mkdir [디렉토리명]: 새로운 디렉토리를 생성합니다.
rmdir [디렉토리명]: 빈 디렉토리를 삭제합니다.
rm [파일명]: 파일을 삭제합니다.
cp [원본][대상]: 파일이나 디렉토리를 복사합니다.
mv [원본][대상]: 파일이나 디렉토리를 이동하거나 이름을 변경합니다.
텍스트파일 내용 확인
cat [파일명]: 파일의 내용을 출력합니다.
less [파일명]: 파일을 페이지 단위로 표시합니다.
head [파일명]: 파일의 처음 몇 줄을 출력합니다.
tail [파일명]: 파일의 마지막 몇 줄을 출력합니다.