Home [node.js] express 프레임워크 설치
Post
Cancel

[node.js] express 프레임워크 설치

Express.js 프레임워크란 ?

Node.js를 위한 웹 프레임워크의 하나로 자바스크립트 런타임 환경에서 웹 어플리케이션을 편하게 개발하기 위한 각종 라이브러리와 미들웨어들이 기본 내장되어 있고 프레임워크로서 개발 규칙을 강제하여 코드 구조를 간결하고 통일성있게 유지시켜주는 도구이다. (Express는 유연한 편이다.)

Node.js 웹 프레임워크는 Express 말고도 Nest.js, Hapi.js, Sails.js, Koa.js, Meteor.js 등이 있지만 사실상 Node.js의 웹 프레임워크 표준이라고 불일 정도로 절대 다수의 개발자가 Express를 사용하고 있다. 많은 사용자가 있다는 뜻은 커뮤니티가 활발하다는 것이고 관련 레퍼런스도 구글링을 통해 쉽게 접할 수 있다. 게다가 엄청나게 많은 템플릿 엔진과 패키지들을 지원한다 !

ES6 문법을 지원하는 Koa.js 프레임워크(Express를 개발한 팀이 만들었다) 가 차세대 프레임워크로 대두되고 있지만 그럼에도 불구하고 여전히 아주 많은 기업과 사용자가 앞으로도 Express 프레임워크를 사용하고 사용할 것이기에 Koa 학습 이전에 Express 를 배워두는 것이 좋겠다.

http 내장모듈 VS Express

http 내장모듈

1
2
3
4
5
6
7
8
const http = require('http');
http.createServer(function(request, response) {
	response.writeHead(200, {'Content-Type' : 'text/html'});
	response.write('HTTP 내장모듈');
	response.end();
}).listen(3000, function(){
	console.log('3000번 포트에서 대기중');
});

Express

1
2
3
4
5
6
7
8
9
10
const express = require('express'); 
const app = express();
app.set('port', 3000);

app.get('/', (res, res) => {
	res.send('Express');
});
app.listen(app.get('port'), () => { 
	console.log(app.get('port'), '번 포트에서 대기중');
});

보는바와 같이 코드가 간결해진다.

Express 설치

간단한 npm 명령어로 설치할 수 있다.

1
2
user@myMacbook ProjectRoot % npm init -y 
user@myMacbook ProjectRoot % npm install express

npm이 설치되어 있지 않으면 node.js 를 먼저 설치하여야 한다.
mac os > brew install node
windows os > https://nodejs.org/en/download/ 접속 후 LTS 버젼 설치

1
user@myMacbook ProjectRoot % npm install -D nodemon

npm install -D nodemon nodemon이란 node monitor의 약자로 노드가 실행되는 파일의 변경을 감지해서 자동으로 어플을 재시작 해주는 확장모듈이다.
개발환경에서 편의를 제공해주는 모듈이기 때문에 npm install -D 옵션을 붙여서 설치하자.

package.json

1
2
3
4
5
6
7
8
...
"dependencies": {              
	"express": "^4.17.1"
}
"devDependencies": {
	"nodemon": "^2.0.12"
}
...

설치가 완료되면 Project 루트에 위치한 package.json의 dependencies에 express 가 추가된다.

실행

설치가 완료되면 프로젝트 루트에 app.js 파일을 다음과 같이 작성하고

1
2
3
4
5
6
7
8
9
10
const express = require('express'); 
const app = express();
app.set('port', 3000);

app.get('/', (res, res) => {
	res.send('Express');
});
app.listen(app.get('port'), () => { 
	console.log(app.get('port'), '번 포트에서 대기중');
});

package.json 으로 가서 script 부분을 이렇게 수정하자

1
2
3
"scripts": {
	"start": "nodemon app" //npm의 start 스크립트. nodemon으로 app.js  호출할 것이다.
},

그 다음 터미널에서 시작해준다.

1
2
3
4
5
6
7
8
9
10
user@myMacbook ProjectRoot % npm start
> learn.express@1.0.0 start
> nodemon app

[nodemon] 2.0.12
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node app.js`
3000 번 포트에서 대기중...

browser에서 localhost:3000에 접속하면 get / 요청의 결과를 확인할 수 있다. 2021-08-27_screenshot1.png

[postgresql] 트리거를 배워보자

메타버스에 대한 생각