node.js

[node.js] fs 모듈, http 모듈, express 모듈

shb 2022. 2. 21. 15:28

node.js
    서버에서 실행되는 자바스크립트
    백엔드와 프론트엔드가 같은 언어를 사용하는게 장점
    Google V8 JavaScript 엔진을 사용하여 코드를 실행하고 기본 모듈이 자바스크립트로 사용
    웹 서버(apache, iis, zeus, ...)와 같은 소프트웨어가  필요없이
    웹 서버 역할을 할 수 있는 내장 라이브러리가 존재
    npm 이라는 패키지 관리자(라이브러리를 다운받아 탑재시키는 역할)가 포함

설치 확인
    cmd에서 node -v 명령어를 실행

    nodejs.org > LTS버전(안정화 버전) 설치 > 설치파일 실행
    
    npm -v : npm 버전 확인

node.js 실행
    node 파일명

package.json 만들기
    실행시 참고하는 json파일

    npm init    : 옵션을 직접 제공해서 생성(enter로 문답 진행, 괄호 안은 기본값)
    npm init -y : 기본 설정으로 바로 생성

fs 모듈
    파일 처리와 관련된 모듈
    node.js에서 가장 중요하고 기초적인 모듈

    readFile()      : 파일을 비동기적으로 읽음
    readFileSync()  : 파일을 동기적으로 읽음
    writeFile()     : 파일을 비동기적으로 씀
    writeFileSync() : 파일을 동기적으로 씀

동기식과 비동기식
    동기식 : 프로그램이 동작하는 상태에서 완전히 해당 내용을 끝내고 다음으로 넘기는 방식, 순차적
    비동기식 : 동작이 끝나지 않은 상태에서도 제어권을 넘긴 후에 프로그램을 계속 진행하는 방식


예외처리
    try{
        예외가 발생할 수 있는 문장
    } catch(e){
        예외가 발생했을 경우 수행할 문장
    } finally{
        예외 발생 여부에 상관없이 수행할 문장
    }


http 모듈
    http 웹 서버를 생성하는 것과 관련된 모든 기능을 담당

    createServer()  : server 객체를 생성
    writeHead()     : 응답 header를 구성
    end()           : 응답 body를 작성
    listen()        : 서버를 실행하고 클라이언트를 기다림

 

MIME 형식
    응답의 형식이 무엇인지를 Header에 포함된 MIME을 통해 브라우저에 알려줌
    브라우저는 이것을 참고하여 응답을 어떻게 해석할 지 알 수 있다.

    text/plain  일반적인 text 파일
    text/html   html 형식 파일
    text/css    css 형식 파일
    text/xml    xml 형식 파일
    image/jpeg  jpeg 이미지 파일
    image/png   png 이미지 파일
    video/mpeg  mpeg 동영상 파일
    audio/mp3   mp3 음악 파일
    ...

 

이렇게 localhost에 뜬다


express 모듈
    http 모듈만 사용해서 웹 서버를 구성하면 직접 많은 기능을 따로 개발해야 하는 불편한 점이 있음
    간단한 코드로 웹 서버의 기능을 대부분 구현할 수 있는 express 모듈을 사용
    미들웨어와 라우터를 이용해서 편리하게 웹 서버를 구성


package 설치
    npm install 모듈명
    npm i 모듈명

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

[node.js] 쿠키, 세션  (0) 2022.02.21
[node.js] Jade, 메일 보내기  (0) 2022.02.21
[node.js] express 모듈, Router, EJS 모듈  (0) 2022.02.21