Joon's Space
[Express] Express 초기 설정 및 예제(express, ejs, mongoose) 본문
Install packages
npm install express ejs mongoose
예제 설명을 위해서 사용할 패키지 express 및 ejs, mongoose까지 설치
Express
Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크이며 자유롭게 활용할 수 있는 수많은 HTTP 유틸리티 메소드 및 미들웨어를 통해 쉽고 빠르게 강력한 API를 작성할 수 있다고 공식 홈페이지에 적혀있다. https://expressjs.com/
이번엔 express 웹 프레임 워크를 사용하여 웹 어플리케이션을 개발하기 위한 초기 설정 및 api 작성을 해 볼 것이다.
Hello world 예제
// server.js
const express = require('express')
const app= express()
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(5000)
위 어플리케이션은 5000 포트에 연결하며, 루트 url(/) 또는 라우트에 대한 요청에 대하여 "Hello World"로 출력한다.
ejs
ejs 는 기본적으로 node.js 기반으로 하는 템플릿 엔진인데, 우리가 서버에서 사용하는 객체의 변수 및 데이터를 html 파일 속에서 <% %> 괄호를 통해 적용시킬 수 있다.
- <% 자바스크립트 코드 %>
- <%= 데이터 변수 %>
기본적으로 위 두가지만 기억 하자.
views 폴더 하위 파일에 전달
// server.js
app.set('view engine', 'ejs')
app.get('/', (req, res) => {
const text = "Hello there"
res.render('index', { text: text }) // views/index.ejs 경로 파일에, text를 변수 전달
}
위와 같이 서버 text에 저장된 string을 views/index.ejs 파일의 text 위치에 전달.
<html>
<head>
<title>document</title>
</head>
<body>
<h1><%= text %></h1>
</body>
</html>
mongoose
Node.js와 MongoDB를 위한 ODM(Object Data Mapping) library이다. Java 기반의 Hibernate. iBatis 등의 ORM(Object Relational Mapping)과 유사한 개념이다.
위 라이브러리를 사용하면, javascript 객체와 mongodb에 있는 데이터와 mapping을 하여, CRUD를 간편하게 구현할 수 있다.
mongodb 연결
// server.js
const mongoose = require('mongoose')
require('dotenv').config();
mongoose.connect(process.env.DB_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,})
.then(() => console.log("Database connected"))
.catch(err => console.log(err));
여기서 mongodb 홈페이지에서 계정 및 데이터베이스 을 생성하여, connect에 들어가 아래와 같이 db_url을 복사하여 .env 파일을 생성하여
.env
DB_URL=mongodb+srv://jyojun:<password>@cluster0.b03jc.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
위와 같이 작성 <password>엔 자신의 mongodb 계정의 비밀번호를 적어주면 된다.
console에 'Database connected'이 뜨면 성공.
'Web > Express' 카테고리의 다른 글
[Express] Restful API 작성 (req/res, router, schema & model) (0) | 2022.03.15 |
---|