반응형

- nodemon.json

{
    "ignore": ["src/public/*"],
    "exec": "babel-node src/server.js"
}

nodemon을 설정하기 위해 nodemon.json 생성

 

nodemon은 프로젝트를 살펴보고 변경 사항이 있을 때 서버시를 재시작해줌

서버를 재시작하는 대신 bable-node를 실행하게 되는데

Babel은 작성한 코드를 일반 NodeJs 코드로 컴파일 해줌 > 그 작업을 src/server.js에서 해주는 것

 

- server.js

 

import express from "express";

const app = express();

express를 import

express 어플리케이션을 구성

 

app.set("view engine", "pug");
app.set("views", __dirname + "/views" );
app.use("/public", express.static(__dirname + "/public"));
app.get("/", (req, res) => res.render("home"));

view engine을 pug로 설정

views 디렉토리 설정

public 디렉토리 설정 > public 폴더를 유저에게 공개해주는 코드 (line 3)

홈페이지로 이동 시 사용될 템플릿을 render

 

*public 파일은 frontend에서 구동되는 코드 (중요!)

*현재 디렉토리에서 server.js는 백엔드 / app.js는 프엔 

 

 

* catchall url를 만들고 싶다면

app.get("/*", (req, res) => res.redirect("/"));

유저가 어떤 url로 이동하든지 requst 및 response 할 수  있고 홈으로 돌려 보내기

(다른 url 사용 X, 홈 URL 만 사용할거기 때문)

 

 

- views > home.pug를 렌더하면 끝

 

script(src="/public/js/app.js")

 

정리

❗express 사용 NodeJS 설정

❗package.json, script 생성

❗babel (babel-node 실행 > babel.config.json을 찾고 코드가에 적용돼야 하는 preset 실행)

 

반응형

'Node.js' 카테고리의 다른 글

[Node/Zoom줌 클론 코딩] Server Set up  (0) 2022.06.04