node.js 서버 만들기에 대하여 알아보도록 하겠습니다. 이 글을 전체적으로 읽고 나면 node.js 서버 만들기를 알게 되실 것입니다. node.js 서버 만들기의 지식이 필요하다면 끝까지 읽어주세요. 이제 밑에서 node.js 서버 만들기를 알려드리겠습니다.


node.js 서버 만들기

목 차


    node.js 서버 만들기

    자신이 직접 구축하여 서버를 만들 수 있고 외부 모듈을 이용하여 웹 서버를 자동으로 구축할 수 있습니다. 이 글에서 express-generator를 이용하여 자동으로 node.js 서버 만들기를 해보겠습니다.

    node.js 서버 구조

    node.js 서버 만들기 위해서는 express 모듈이 있어야 합니다. 그리고 app.js 파일을 생성하고 아래의 코드를 입력하면 정상적으로 웹 서버가 동작합니다.

    const express = requre('express');
    const app = express();
    
    app.get('/', function(req,res){
    	res.send('Hello World');
    });

    1번과 2번 코드는 express라는 모듈을 불러와서 app에 저장합니다. 4번부터 6번까지는 사용자가 메인화면에 접속할 때 'hello world'라는 문자열을 출력하는 코드입니다. 모든 서버는 포트를 통해 파일들을 전송하게 되어있습니다. node.js의 express에서는 listen이라는 함수를 통해 포트 번호를 지정하여 서버와 클라이언트 간에 데이터를 주고받을 수 있습니다.

    express-generator 설치

    node.js의 외부 모듈인 express-generator를 설치하면 쉽게 웹 서버를 구축할 수 있습니다. 이 모듈의 특징은 자동으로 웹 서버 구조를 만듭니다.

    express-generator 구조

    그럼 한번 설치하고 서버를 실행해보겠습니다.

    npm install express-generator

    npm을 이용하여 express-generator를 설치합니다.

    express [options] [폴더 이름]

    options에는 아래 표를 참고하여 옵션들을 추가할 수 있습니다. 입력하지 않아도 됩니다.

    --version express의 버전을 확인할 수 있습니다.
    --pug, --ejs, --hbs, --hogan 각각 pug, ejs, hbs, hogan 템플릿이 생성됩니다. 같은 명령어로 --views=[템플릿]이 있습니다.
    --no-view views 폴더를 제외한 나머지가 생성됩니다.
    --view=[engine] engine에는 dust, ejs, hbs, hjs, jade, pug, twig, vash를 입력할 수 있습니다. 기본값은 jade입니다.
    --css=[engine] engine에는 less, stylus, compass, sass를 입력할 수 있습니다. 기본값은 css입니다.
    --git .gitignore 파일이 생성됩니다.

    또한, [폴더 이름]은 지정해도 되고 지정하지 않아도 됩니다. 지정하게 된다면 현재 위치한 폴더에서 새로운 폴더 안에 웹 서버 파일들이 생성됩니다. 지정하지 않으면, 현재 위치한 폴더에서 생성됩니다.

    cd [폴더 이름]

    앞서 [폴더 이름]으로 생성한 폴더로 가기 위한 명령어입니다. 지정하지 않았다면 현재 폴더에서 웹 서버를 실행하면 됩니다.

    npm install

    package.json 파일에 있는 패키지들을 설치해야 정상적으로 웹 서버가 구동됩니다.

    npm start

    이 명령어로 웹 서버를 실행해보겠습니다.

    express-generator 웹 서버

    브라우저에 localhost:3000을 입력하여 위 사진과 같이 나왔다면 정상적으로 동작한 것입니다.


    node.js 서버 만들기를 공유해드렸습니다. 읽어보니 어떠신가요? 다른 정보도 궁금하시다면 위의 글들을 참고하세요. 이 문서가 유익했다면 구독, 좋아요, 하트(공감)를 해주시면 블로그 운영에 보탬이 됩니다.

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기