Node.js 교과서 - 4

Express 이용하기

Posted by Damin on July 1, 2020

환경

  • Visual Studio Code
  • Node v10.16.3
  • Window OS

Express-generator

Express Framework에서는 Express 외에도 많은 패키지를 사용한다.

많은 패키지를 사용하기 때문에 입문자 입장에서는 필요한 패키지를 다 찾아서 install 하기에는 어려움이 있다.

입문자들을 위해 package.json, 기본 폴더 구조까지 잡아주는 패키지가 있습니다.

그것이 바로 Express-generator입니다.

Express-generator는 콘솔 명령어이므로 npm 전역 설치가 필요하다.

npm i -g express-generator (i = install, g = global)

뭔가가 설치되면서 시간이 지나면 설치가 완료된다.

설치가 완료되면 자신이 프로젝트를 만들고자 하는 폴더로 이동한다.

콘솔에 다음과 같이 입력

express learn-express –view=pug

learn-express : 원하는 프로젝트 이름

만약 아래와 같은 에러가 난다면

express : File C:\Users\damin\AppData\Roaming\npm\express.ps1 cannot be loaded because running scripts is disabled on this system. For >more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 express learn-express – view=pug ~~~~~~~ CategoryInfo : SecurityError: (:) [], PSSecurityException

  • 터미널(powershell or cmd)을 관리자 권한으로 실행해준다.

  • ExecutionPolicy를 이용해 현재 권한 상태 확인

Node Version

  • 기본 값인 Restricted

  • Set-ExecutionPolicy를 이용해 권한을 바꿔준다.

AllSigned : 스크립트 실행은 가능하나, 신뢰된 배포자에 의해 싸인된 것만 실행 가능
Unrestricted : 모든 스크립트 형태 실행 가능
RemoteSigned : 로컬에서 생성한 스크립트만 실행 가능. 다운로드 받는 모든 스크립트는 신뢰된 배포자에 의해 싸인된것만 실행 가능

Node Version

  • 원하는 권한으로 바꿔준 뒤 다시 express learn-express –view=pug 입력

Node Version

  • 잘 실행되는 것을 볼 수 있다.

learn-express 폴더가 생성되었을 것인데, 폴더에 들어가서 npm 모듈들을 설치하자.

cd learn-express npm i

여기서 npm i는 package.json에 있는 dependencies들을 설치해준다.

  • 기본적인 폴더 구조

Node Version

  • app.js : 핵심적인 서버 역할
  • bin/www : 서버를 실행하는 스크립트
  • public : 외부에서 접근 가능한 파일들 (브라우저 등등)
  • routes : 주소별 라우터들
  • views : 템플릿 파일

서버의 로직은 routes 폴더 안의 파일에 작성
화면 부분은 views 폴더에 작성
데이터베이스 부분은 models 폴더에 작성

시작

  • 위치 : learn-express 폴더

npm start

Node Version

  • 웹브라우저로 localhost:3000 으로 접속

Node Version

Reference