※ 다크모드로 읽으시는 것을 추천드립니다.
# 폴더 생성
> mkdir "프로젝트 폴더 명"
폴더 열기
를 통해 프로젝트 디렉터리로 이동합니다.파일(F)
→ 폴더 열기… CTRL + K CTRL + O
# 프로젝트 디렉터리로 이동
> cd "프로젝트 폴더 명"
# Node.js 프로젝트 초기화
> npm init (프로젝트 명, 버전 등 프로젝트 정보 입력)
또는
> npm init -y (프로젝트 정보를 기본값으로 설정)
package.json
파일에 저장됩니다.package.json
파일은 Node.js 프로젝트 정보에 대한 파일이며, 아래와 같은 내용을 포함합니다.name
: 필수로 존재 해야 하는 Fields이며, 패키지의 이름을 나타냅니다.- (하이픈)
이나 _ (언더스코어)
를 포함할 수 있습니다.version
: Semantic Versioning Guidelines를 따르며, x.x.x
의 형태로 작성해야 합니다.# name 및 version 예시
{
"name": "my-package-name",
"version": "1.0.0"
}
description
: 문자열로 기술한 패키지에 대한 설명입니다.main
: 패키지의 진입점 (Entry Point)이 되는 모듈의 ID입니다.index.js
로 기본 값이 설정됩니다.foo
라는 이름의 패키지를 설치하고, require("foo")
를 통해 모듈을 import하면 main
으로 지정한 모듈의 exports 객체가 반환됩니다.scripts
: 패키지의 생명 주기에서 다양한 타이밍에 자주 사용할 Command를 alias (별칭)을 통해 지정해 둘 수 있는 Dictionary입니다.유용한 Command를 지정해두고 사용하면 편리할 것입니다.
# scripts 예시
facebook/create-react-app/package.json
(https://github.com/facebook/create-react-app/blob/main/package.json)
{
"scripts": {
"build": "cd packages/react-scripts && node bin/react-scripts.js build",
"changelog": "lerna-changelog",
"create-react-app": "node tasks/cra.js",
"e2e": "tasks/e2e-simple.sh",
"e2e:docker": "tasks/local-test.sh",
"postinstall": "npm run build:prod -w react-error-overlay",
"publish": "tasks/publish.sh",
"start": "cd packages/react-scripts && node bin/react-scripts.js start"
// ...
}
}
이처럼 Value로 일련의 Command (명령어)를 정의해두고 Key로 지정한 alias를 이용해 간편하게 호출할 수 있습니다.
예, npm start
keywords
: 키워드를 문자열 배열로 설명합니다.description
과 마찬가지로 npm에서 검색되었을 때 리스트에 표시되어 사람들이 패키지를 찾아내고 이해할 수 있도록 돕는 요소입니다.author
: 한 명의 배포자를 위한 Fields입니다.contributors
Fields로 작성합니다.license
: 배포한 패키지에 대해 패키지 사용자가 패키지를 사용하는데 있어서 어떤 권한과 제한 사항이 있는지 알기 위해 License를 명시해야 합니다.app.js
라는 이름의 Node.js 파일을 생성합니다.# app.js
const http = require("http");
const createServer = http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/html" });
res.end("Hello World!");
});
createServer.listen(3000, () => {
console.log("Server Started!");
});
http
모듈을 상수 “http”에 할당합니다.# 코드 실행 - node 명령어
> node app.js
Server Started...
또는
# 코드 실행 - package.json scripts 활용
# package.json 수정
{
...,
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js"
},
...
}
> npm start
> test@1.0.0 start
> node app.js
Server Started...
http://localhost:3000
https://velog.io/@tjdrhd1207/Node.js-프로젝트-생성하기