환경
- 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를 이용해 현재 권한 상태 확인
-
기본 값인 Restricted
-
Set-ExecutionPolicy를 이용해 권한을 바꿔준다.
AllSigned : 스크립트 실행은 가능하나, 신뢰된 배포자에 의해 싸인된 것만 실행 가능
Unrestricted : 모든 스크립트 형태 실행 가능
RemoteSigned : 로컬에서 생성한 스크립트만 실행 가능. 다운로드 받는 모든 스크립트는 신뢰된 배포자에 의해 싸인된것만 실행 가능
- 원하는 권한으로 바꿔준 뒤 다시 express learn-express –view=pug 입력
- 잘 실행되는 것을 볼 수 있다.
learn-express 폴더가 생성되었을 것인데, 폴더에 들어가서 npm 모듈들을 설치하자.
cd learn-express npm i
여기서 npm i는 package.json에 있는 dependencies들을 설치해준다.
- 기본적인 폴더 구조
- app.js : 핵심적인 서버 역할
- bin/www : 서버를 실행하는 스크립트
- public : 외부에서 접근 가능한 파일들 (브라우저 등등)
- routes : 주소별 라우터들
- views : 템플릿 파일
서버의 로직은 routes 폴더 안의 파일에 작성
화면 부분은 views 폴더에 작성
데이터베이스 부분은 models 폴더에 작성
시작
- 위치 : learn-express 폴더
npm start
- 웹브라우저로 localhost:3000 으로 접속
Reference
- Node.js의 교과서 (조현영 지음)
- 스크립트 실행 오류