[Node.js] Node.js 프로젝트 만들기
[1] 프로젝트 초기화
- ⚠️ 프로젝트를 초기화하기 전에 시작할 위치로 이동 후 진행해주세요!
- 다양한 명령어를 통해 프로젝트에 필요한 파일들을 생성하게 되는데 현재 위치한 폴더를 기준으로 생성하게 됩니다.
따라서 원하지 않은 위치에 프로젝트에 필요한 파일이 생성될 수 있으니 꼭 시작할 위치로 이동해주세요.
npm init -y
package.json을 생성하여 npm을 쓸 수 있는 초기 환경을 설정해줍니다.
(-y
옵션을 넣게되면 default값으로 설정됩니다.)
- 💡package.json란?
- 프로젝트의 정보와 의존성을 관리하는 파일입니다.
[2] 모듈 설치
[2.1] express
- 💡express란?
- http와 같은 서버 모듈로서, 간단한 코드로 웹 서버의 기능을 구현할 수 있고,
미둘웨어와 라우터를 사용하여 편리하게 웹 서버를 구성할 수 있습니다.
npm install express --save
--save
옵션을 넣게되면 package.json의 dependencies 항목에 모듈을 추가한다는 의미입니다.
npm 5.0 이후 버전에서는 기본 옵션으로 적용되어 있어 생략해도 무방합니다.
- 💡package-lock.json란?
- package.json파일에 있는 패키지들의 의존 관계와 정확한 버전 정보를 저장합니다.
npm install <package>
명령어로 생성된 node_modules 폴더에 설치된 패키지들의 정보를 저장합니다.
[2.2] ejs
- 💡ejs란?
- Embedded javascript의 약자로, 자바스크립트가 내장되어 있는 html 모듈입니다.
html 안에서<% %>
,<%= %>
를 이용하여 서버의 데이터나 코드를 실행할 수 있게 해줍니다.
npm install ejs
[2.3] dotenv
- 💡dotenv란?
- 환경변수를 .env파일에 저장하고
process.env
로 로드하는 의존성 모듈입니다.
쿠키 인증에 쓰이는 비밀키 값을 그대로 쓰게되면 보안에 취약한 문제점이 생기는데
.env 파일에 작성하여process.env
로 읽게되면 취약점을 해결할 수 있습니다.
주로 API키, 비밀번호 등 노출되면 안되는 중요한 키값들을 정의합니다.
npm install dotenv
[2.3.1] .env 생성하기
YOUR_API_KEY=VALUE
위와 같은 코드 형식으로 자신에게 필요한 내용을 기재합니다.(본 포스팅에서는 사용하지 않겠습니다.)
[3] 파일 생성
[3.1] app.js
- 💡app.js란?
- 일반적으로 애플리케이션의 진입점(Entry Point)이라고 표현합니다.
app.js 파일에서는 애플리케이션을 초기화하고 실행하기 위한 설정과 코드를 작성합니다.
이를 통해 Node.js 애플리케이션을 시작하고, 요청을 받아들이고, 처리하고, 응답을 보내는 등의 작업을 수행할 수 있습니다.
또한 필요한 모듈을 불러오고, 이를 이용하여 웹 서버를 생성하고, 라우팅 설정을 하고, 미들웨어를 추가하는 등의 작업을 수행합니다.
이를 통해 Node.js 애플리케이션의 동작을 제어하고, 기능을 확장할 수 있습니다.
const express = require('express')
const app = express();
const port = 3000;
app.set("views", "./views");
app.set("view engine","ejs");
app.get("/", (req,res) =>{
res.render("home/index");
});
app.listen(port,() => {
console.log(
`####################################################################################
RUNNIG NODE.JS
####################################################################################`);
});
루트(/)에 app.js를 생성하고 위 코드를 복사하여 붙여 넣습니다.
[3.2] index.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hello kunheelib!</h1>
</body>
</html>
루트(/)에 views/home/index.js를 생성하고 위 코드를 복사하여 붙여 넣습니다.
[4] 확인하기
node app.js
이상 포스팅을 마치겠습니다.
댓글남기기