Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Joon's Space

[Express] Express 초기 설정 및 예제(express, ejs, mongoose) 본문

Web/Express

[Express] Express 초기 설정 및 예제(express, ejs, mongoose)

Happy Joon 2022. 3. 14. 20:10

Install packages

npm install express ejs mongoose

예제 설명을 위해서 사용할 패키지 express 및 ejs, mongoose까지 설치 

 

Express

Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크이며 자유롭게 활용할 수 있는 수많은 HTTP 유틸리티 메소드 및 미들웨어를 통해 쉽고 빠르게 강력한 API를 작성할 수 있다고 공식 홈페이지에 적혀있다. https://expressjs.com/

 

Express - Node.js web application framework

Fast, unopinionated, minimalist web framework for Node.js $ npm install express --save

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