Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 Javascript *런타임이다.
- 런타임 : 프로그래밍 언어가 동작하는 환경
Node.js 홈페이지에서 설치
👉 node --version(--v)
: 설치된 버전을 알 수 있음
NPM(Node Package Manager)는 전 세계의 개발자들이 만든 다양한 기능(패키지, 모듈)들을 관리하는 도구이다.
이 도구를 이용해 필요한 패키지를 설치한다.
npm init / npm init -y
-y를 붙이면 기본 질문을 생략하고 만들 수 있다!
npm install 패키지명
🤫설치하면 여러가지 폴더와 파일이 생기는데??
✔️ 패키지에 대한 폴더가 생기는것
설치하면 cdn 방식이 아닌 import 방식으로 불러와서 사용할 수 있다!
만약 lodash를 설치했다고 하면...
<script type="module" src="./main.js" ></script>
import _ from "lodash";
🤫js 파일에서 오류가 떠요 그리고 html type는 뭔가요?
✔️ import 키워드를 javascript 에서 사용하면 그 파일은 module이라는 개념으로 불리게 된다.
module 파일은 html에서 연결할때 'type=module' 이라는 속성이 필요하다!
설치한 여러 패키지들을 실제 뤱사이트에 올라갈 수 있는 하나의 구조로 묶어주는 역활을 한다.
parcel 등 여러가지가 있다!
✔️묶어주는 역활만 하지 웹페이지에서 실제 동작하는것이 아니기 때문에...
--save-dev(-D) 를 붙여 설치
예시) npm install parcel -D
🤫 -D를 붙이면 어떤 일이 일어나는데...?
✔️ devDependencies에 설치된다.
✨Live server는 고도화된 개발을 할 때는 쓰기 조금 어렵기 때문
명령어와 링크연결하면 개발사버를 열 수 있다.
1. package.json 파일에 [디버그]-["scripts"]-["test"] 가 있는데 "test"를 dev라는 이름으로 바꾸기(안바꿔도, 다른 이름으로 해도 괜찮음)
2. 값은 "parcel 열어야 할 파일 링크" 적기
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
// -> 아래처럼 바꿔준다!
"scripts": {
"dev": "parcel ./index.html"
},
npm run 명령어 : 서버 오픈 명령
예시) npm run dev
🤫dist 파일이 생겼다
✔️번들러를 이용해서 JavaScript 파일로 변환한 내용이 저장된다.
"scripts": {
"dev": "parcel ./index.html",
// 명령어 추가
"build": "parcel build ./index.html"
},
npm run build : 배포 파일 만들기 명령
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
1-1. macOS 10.15부터 설치 스크립트 오류가 발생할 수 있는데 nvm: command not found이면 zshrc 파일을 직접 생성 후 다시 설치 스크립트로 재설치
touch ~/.zshrc
nvm-setup.exe 를 실행nvm --version // 버전을 알 수 있음
nvm --help // 명령어들을 보여줌
nvm ls-remote // 설치 가능한 node.js 버전을 보여줌
nvm ls-remote --lts // lts으로 설치 가능한 node.js 버전을 보여줌
nvm install node // node.js 최신버전으로 설치
nvm install *.*.* // *에 버전 입력하면 특정 버전 설치 ex)nvm install 20.10.0
// 만약 Major만 입력하면 그 버전에서 마지막 버전으로 업데이트됨
// node.js가 20.11.0이 제일 최신이라면 nvm install 20 -> 20.11.0으로 설치된다.
nvm ls // 설치된 node 모든 버전 확인
nvm current // 현재 사용중인 node.js 확인
nvm uninstall *.*.* // *에 버전 입력하면 특정 버전 삭제
//(현재 사용중인 버전은 삭제할 수 없음-> 현재 사용중인 버전을 바꾸고 삭제하자)
nvm use *.*.* // *에 버전 입력하면 특정 node.js 버전 사용
// nvm use 를 사용해 버전을 바꾸고 터미널을 껐다 키면 다시 최신으로 node.js가 사용중인걸 알 수 있다
// 이때는 버전을 유지하고 싶으면 default값을 설정해야한다
nvm alias dsfault *.*.*
🤫 package.json을 보면 버전 뒤에 막 ^"숫자.숫자.숫자" 있는데?
✔️ 패키지 등을 설치할때 해당 패키지가 설치되고 마침표(.)로 구분된 3가지 숫자로 버전이 명시된다.
ex) node : v18.17.1 <- 의미는 Major.Minor.Patch(메이저.마이너.패치)
최신버전 확인하기
npm info 패키지명 -> latest에서 확인
다른 버전으로 설치
npm install 패키지명@버전
예시) npm install lodash@4.17.20
Major 버전 안에서 가장 최신 버전으로 업데이트가 가능한 경우(Minor, Patch 업데이트 가능)
npm update 패키지명
: 업데이트 하기
Minor 버전 안에서 가장 최신 버전으로 업데이트 가능한 경우(Patch 업데이트 가능)