개발 도구 (Development Tools)/Node.js & MongoDB

[npm] 서버 구성의 시작 Express

BiCute 2022. 6. 1. 10:00
반응형

 

#1 Express

Express는 'Node.js 를 위한 빠르고 자유로운 미니멀리즘 웹 프레임워크'라고 되어있는데,

바꿔 말하면 Node.js를 사용하여 서버를 쉽게 구성할 수 있게 도와주는 프레임 워크입니다.

 

 

#2 Express 설치하기

(1) Node.js 설치

express를 설치하기위해선 우선 Node.js를 설치해야 합니다.

이미 설치가 되어있다면 터미널을 열어 node -v라고 입력했을때 설치되어있는 버전을 확인 할 수 있습니다.

설치가 되어 있지 않다면 Node.js 사이트에서 설치를 진행하면 됩니다.

 

Node.js 공식 페이지 >

 

 

(2) 초기화(initialize)

작업 폴더로 이동한 후 터미널을 열고 npm init이라 입력해 줍니다.

초기화 작업을 하게되면 아래와 같이 계속해서 무언가를 물어보는데 그냥 엔터를 계속 치셔도 상관은 없습니다.

entry point가 기본값은 index.js로 되어있는데 app.js 또는 server.js로 사용하는 분도 많은듯하니 이 부분은 취향에 따라 진행하면 됩니다.

zen@BiCute-MacBook-Pro MongoDB % npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (mongodb) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /Users/zen/Documents/Web Develop/MongoDB/package.json:

{
  "name": "mongodb",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes) 
zen@BiCute-MacBook-Pro MongoDB %

 

 

(3) express 설치

터미널을 열어 다음 코드를 입력하여 express를 설치합니다.

npm install express

express가 설치가 되면 package.json과 node_modules 폴더 등이 생성되는데

package.json 파일은 사용되는 라이브러리 등에 대한 정보(버전 등)을 기록하는 곳이며, node_modules은 라이브러리와 관련된 파일 들을 담고있는 폴더입니다 

 

 

 

#3 시작하기

우선 index.js 파일을 생성합니다 (위의 초기화 과정에서 지정했던 entry point와 동일한 이름으로 생성)

그리고 해당 파일에 코드를 작성해주면 되는데...

 

공식 홈페이지의 시작 예제를 보면 다음과 같이 설명 되어 있습니다.

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
 res.send('Hello World!')
})

app.listen(port, () => {
 console.log(`Example app listening on port ${port}`)
})

 

조금만 풀어서 적어 보자면,  

서버를 express로 만들기 위한 기본 문법

const express = require('express');
const app = express();

app.listen();

Line: 1. 익스프레스를 사용하겠다는 선언

Line: 2. 라이브러리를 이용해 새로운 객체를 만들겠다는 선언

Line: 5. app.listen에는 파라미터값이 2개가 들어가는데 첫번째는 서버를 띄울 포트 번호, 두번째는 서버를 띄운 후 실행할 함수가 들어간다

 

공식 홈의 예제에서는 port번호는 위쪽에 따로 3000으로 설정해 주었으며, 함수는 ES6 문법인 화살표 함수를 사용하여 작성되어 있습니다.

  즉, 다음과 같이 사용해도 같은 뜻이니 편한데로 사용하시면 됩니다. 

app.listen(8080, function(){
 console.log('hello world')
});

 

결과: 8080번 포트로 서버를 실행해주세요.

실행이 되었다면 console에 'hello world'를 출력해 주세요 란 의미

 

 

확인은 터미널을 열고 index.js라고 입력해보면 서버가 시작되고 콘솔에 hello world가 출력될 것입니다.

 

서버가 돌아가고 있다는것을 확인해볼려면...

웹 브라우저(크롬 등)를 실행한 후 주소창에 localhost:8080라고 입력하면 해당 페이지를 확인할 수 있습니다.

 

 

Express 더 알아보기 >

 

 

 

반응형