javascript를 실행하는 방법에는 2가지가 있는데, REPL (Read Eval Print Loop)과 .js 파일에 코드를 작성하고 실행하는 방법이다.
홈브류란?
Homebrew는 MacOS(Linux도 포함)용 opensource 패키지 관리 시스템입니다.
(1) 아래 설치 스크립트를 터미널에서 실행하만 설치가 진행됩니다.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
(2) 설치가 완료되면 마지막으로 안내 메시지가 터미널에 출력됩니다.
==> Next steps:
- Add Homebrew to your PATH in /Users/<USER_ID>/.zprofile:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<USER_ID>/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
- Run `brew help` to get started
- Further documentation:
https://docs.brew.sh
(3) 안내를 따라 다음 2줄을 복사하여 터미널에 다시 붙여넣기 합니다.
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<USER_ID>/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"
(4) 최신 Homebrew가 잘 설치되었는지 버전을 확인합니다.
$ brew --version
Homebrew 3.1.5
Node의 버전을 관리해주기 위해서 node를 바로 설치하지 않고, node 버전 관리 매니저인 NVM을 설치합니다. homebrew를 사용해서 NVM(Node Version Manager)를 설치합니다.
(1) NVM 설치
$ brew install nvm
(2) 설치가 완료되면 아래와 같은 추가 안내가 터미널에 출력됩니다.
Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to ~/.zshrc or your desired shell
configuration file:
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
You can set $NVM_DIR to any location, but leaving it unchanged from
/usr/local/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.
위에 설치 안내에 따라서 / 위치에 .nvm 디렉토리를 생성합니다.
(2) 위에 설치 안내에 따라서 / 위치에 .nvm 디렉토리를 생성합니다.
$ mkdir ~/.nvm
(3) 터미널에서 ~/.zshrc 열어서 아래 설정을 추가합니다.
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
(4) nvm 스크립트를 사용하려면 아래 source 명령어를 입력해 .zshrc 파일을 수정한 값을 바로 적용되도록 해야합니다.
$ source ~/.zshrc
(5) 설치 여부를 확인합니다.
$ nvm --version
(1) 아래 명령어를 입력해 설치 가능한 노드 버전을 볼 수 있습니다.
$nvm list-remote
>
v14.15.2 (LTS: Fermium)
v14.15.3 (LTS: Fermium)
v14.15.4 (Latest LTS: Fermium)
v15.0.0
v15.0.1
v15.1.0
v15.2.0
v15.2.1
v15.3.0
v15.4.0
v15.5.0
v15.5.1
. .
위 리스트 중에 원하는 버전을 선택하여 설치할 수 있습니다.
(2) 설치
선택하여 설치하려면 아래와 같이 명령어 입력
$ nvm install v16.15.0
latest long-term support version 설치
$ nvm install lts/erbium
(3) 아래 명령어를 사용해서 설치되어 있는 nvm 버전들을 확인 할 수 있습니다.
$ nvm list
>
-> v16.15.0
default -> v16.15.0
node -> stable (-> v16.15.0) (default)
stable -> 16.15 (-> v16.15.0) (default)
(4) 설치를 완료 했다면, 원하는 버전의 가상환경을 활성화해서 사용할 수 있습니다.
$ nvm use v16.15.0
> Now using node v16.15.0 (npm v8.5.5)
(5) Javascript file 실행 :
$ node {파일이름.js}
예) node app.js
Node.js 기반의 패키지를 사용하려면 npm(node package manager)이라는 패키지 관리 도구가 필요합니다. npm을 통해 다양한 패키지를 설치하고 버전을 관리할 수 있습니다. 즉, 각 종 웹 개발 라이브러리 설치 및 관리 도우미라고 보면 됩니다.
(Node.js를 설치하면 npm이 자동으로 설치 됩니다.)
모듈은 크게 Built-in module, Custom module, 3rd-party module로 나눌 수 있습니다. 커스텀(Custom) 모듈은 Node.js CommonJS 방식으로 만들 모듈을 의미하고, 빌트인(Built-in) 모듈은 Node.js가 설치되면서 기본으로 내장되어 있는 모듈들을 의미합니다. 대표적으로 모듈을 import 할 때 사용하는 require 함수도 빌트인 모듈입니다. 마지막으로 3rd-party module은 다른 개발자들이 만들어 놓은 모듈을 의미합니다.
3rd-party module의 소스 코드들이 모아져 있는 저장소(npm registry), 웹 사이트(website), 그리고 npm CLI를 통칭해서 NPM이라고 합니다. 앞으로 개발에 필요한 여러가지 패키지를 NPM을 통해서 관리하게 됩니다.
프로젝트에 대한 메타 정보와 프로젝트에서 사용중인 npm 패키지에 대한 정보를 담은 파일입니다.
프로젝트 초기 세팅할 때 package.json부터 만들고 시작합니다.
이때, 프로젝트 별로 필요한 npm 패키지가 버전별 다를 수 있기 때문에 버전까지 명확하게 기록해두어야 합니다.
동일한 버전을 설치하지 않으면 문제가 생길 수 있습니다.
# project 폴더에서 아래 명령어 실행
$ npm init
# npm init -y이 완료되면 폴더에 package.json이 생성됨(기본적인 디폴트 내용의 최종 내용은 다음 package.json 상에 기록되며, 추후에 언제든지 원하는 내용을 추가 및 수정할 수 있습니다.)
nodemon이란 ? node monitor의 약자로, 노드가 실행하는 파일이 속한 디렉터리를 감시하고 있다가 파일이 수정되면 자동으로 노드 애플리케이션을 재시작하는 확장 모듈이다. nodemon을 설치하면 재시작 없이 코드를 자동 반영 할수 있다.
(1) 아래 명령어를 터미널에 입력한다.
$ npm init -y //-y 는 --yes와 같은 의미로 디폴트 값으로 package.json이 생성된다.
//$npm init을 하면, 정보들을 일일히 입력해주어야 한다.
$ npm install --save-dev nodemon
(2) 생성된 package.json 파일로 이동하면 아래와 같이 설정 되어 있다. 아래는 npm 명령어를 저장해두는 부분으로 자주 쓰는 명령어 값으로 주고 지정한 키로 쓸 수 있다.
"scripts" : {
"start" : "node ./bin/www"
}
이는 터미널에 npm start를 입력하면 "node ./bin/www"를 실행시키겠다는 의미이다. 하지만 우리는 nodemon으로 실행시킬 것이기 때문에 scripts부분을 아래와 같이 수정해준다.
"scripts" : {
"start" : "nodemon ./bin/www"
}
(3) nodemon을 실행하귀 위해 아래 명령어를 입력한다.
$npm start
파일을 생성하지 않고도 Javascript 코드를 테스트하는 빠른 방법입니다.
이미 node.js가 설치되어 있는 상황이라면, Node.js REPL 역시 설치되어 있습니다. REPL을 시작하는 방법은 간단하게 터미널에 node라고 입력하면 됩니다. > 기호는 이제 사용자가 입력하는 Javascript 코드는 즉시 평가해서 실행시켜준다는 의미입니다.
$ node
Welcome to Node.js v16.3.0.
Type ".help" for more information.
> "Hello " + "World"
'Hello World'
>2+2
4
참고: wecode & https://codingsalon.tistory.com/67