Express Framework 는 npm 으로 깔 수 있는 하나의 확장 모듈인데 http 내장 모듈에서 확장하여 request/response 등을 분리하여 관리하기에 용이하여 MVC를 구현하기에 좋다.

 

 

 

Express 설치, 설정, 구동 테스트

 

모듈들을 다운

npm install -g express-generator

 

express 명령어로 프로젝트 생성

express [프로젝트명] --view=ejs

 

프로젝트 내에 생성된 packages.json 파일에 필요한 모듈 dependency들을 자동으로 다운

cd [프로젝트명]

npm install

 

package.json을 다시 재구성

npm init

 

프로젝트 이름, 버젼, 시작점 등을 물어보는데 ()괄호 속에는 default 값을 보여준다

enter를 입력하면 default값으로 설정됨

 

서버 시작

npm start

 

캡처1.JPG

 

웹브라우저로 접속

캡처2.JPG

 

 

 

 

※ 참고사항

- 서버의 기본 포트는 3000번이다 ([프로젝트]/bin/www 파일 참고)

  기본 포트의 변경을 위해서는 환경 설정이 필요한데 npm으로 dotenv 를 설치해야 한다

  

dotenv 설치

npm install dotenv --save-dev

 

프로그램 내에서 모듈을 로드 (app.js 또는 www)

require('dotenv').config()

 

프로젝트 root에 .env 파일 생성후 다음과 같이 포트 정보를 저장    

PORT=5000

 

위에 생성한 .env 파일은 프로그램 코드내에서 require() 로 불러올 수도 있지만 서버 실행시에서부터 로드할 수도 있다 (preload)

node -r dotenv/config ./bin/www

 

프로그램내에서 PORT 적용은 app.js 에서 다음의 코드로 가능하다

app.set('port', process.env.PORT || 3000);

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
56 Node.js로 ES6 코드 실행하기 (Babel) file 황제낙엽 2023.01.07 370
55 자바스크립트 CommonJS 모듈 내보내기/불러오기 (require) file 황제낙엽 2023.01.07 331
54 Node.js에서 ES 모듈(import/export) 사용하기 file 황제낙엽 2023.01.07 600
53 CommonJS 와 ES 의 Module 시스템 황제낙엽 2023.01.07 337
52 [session] 기본 - Express-session 기반 로그인 세션 관리 황제낙엽 2022.01.03 308
51 [session] 기본 - 2 file 황제낙엽 2022.01.03 327
50 [session] 기본 - 1 황제낙엽 2022.01.03 326
49 [T아카데미] Node.js 프로그램 기초부터 응용까지 강좌 모음 황제낙엽 2021.03.15 235
48 Node.js 에서 Bulk INSERT 를 하는 방법 (multi insert) 황제낙엽 2021.02.02 1363
47 mysql, mysql2 모듈 버전 비교 황제낙엽 2021.01.31 595
46 [T아카데미/Node.js 프로그래밍] 프로그램 흐름 제어 (콜백지옥, Async, Promise) file 황제낙엽 2021.01.27 349
45 ORM 툴 Sequelize file 황제낙엽 2021.01.27 334
44 [connection과 pool-05] pool 생성이 너무 많은 경우의 database에서의 에러 - Too many connections file 황제낙엽 2021.01.27 483
43 [connection과 pool-04] connection pool 에서의 Transaction을 이용한 commit 과 rollback 황제낙엽 2021.01.27 341
42 [connection과 pool-03] mysql.createPool 과 connection.query 황제낙엽 2021.01.27 940
41 [connection과 pool-02] mysql.createPool 과 pool.query 황제낙엽 2021.01.27 460
40 [connection과 pool-01] mysql.createConnection 과 connection.query 황제낙엽 2021.01.27 388
39 [T아카데미/Node.js 프로그래밍/MySQL] createPool, getConnection 의 간단한 예제 (강의 예제) 황제낙엽 2021.01.27 379
38 여러 개의 데이터 베이스 연결을 동시에 관리하는 PoolCluster 황제낙엽 2021.01.16 2698
37 connetion pooling 과 connection leak 황제낙엽 2021.01.16 359