패키지
node js 개념, 장점, express 기본 예제 본문
Node.js 란, node js 를 사용함으로서의 장점.
Node.js는 자바스크립트(javascript)로 서버 프로그래밍을 할 수 있도록 해주는 플랫폼.
[ 장점 ]
1. V8 Engine 위에 작동하는 이벤트 처리 I/O 프레임워크이다.
구글이 javascript 코드를 동적으로 컴파일하여 기계어로 바꾸는 V8 엔진을 개발하면서 javascript 실행 성능이 크게 좋아졌다.
2. Event-driven 방식
비동기 프로그래밍이다. 요청이 들어오면 결과를 즉시 받아들이는 동기프로그래밍과 달리 비동기는 이벤트 요청시 바로 결과 값을 받지 않아도 된다. 때문에 다양한 요청처리가 가능하다.
3. 프론트엔드와 백엔드를 javascript언어로 관리가 가능하다.
새로운언어를 습득하지 않고 기존 언어를 활용해 서버기술을 빨리 응용할 수 있게 되었다.
express
익스프레스는 노드를 만든 패키지의 일종. 웹 서버를 만들기 위한 것.
프레임웍의 개념이다(노드를 이용해 만들어진 프레임웍).
프레임웍을 사용하게 됨으로서 노드로만 코드를 작성하는 것보다
훨씬 빠른시간에 효율적으로 서버를 개발할 수 있게 해준다는 이점이 있다.
port식별자 - port를 통해 서버 요청이 들어온다.
ctrl + c : connetion 서버 연결 끊기
app.js --> 메인 파일(antry file)
: express에서 권장하는 main application 이름.
사용자 url 접속 : get방식
/ : 홈페이지로 접속한 사용자 구분
app.get();
라우터(Router)!
요청에 대한 중계역할로서, 중요한 역할**이다. 어떤 요청이 들어왔을 때 길을 찾게 해준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | const express = require('express'); //express를 로드함. 이를 통해 express 모듈(함수)을 제어한다. const app = express(); //express함수가 application함수를 로드하고 app 객체에 담는다. //app을 이용해 어플리케이션을 만든다 //사용자가 홈페이지에 접속했을 때 //첫 번째 매개변수 요청 객체 req //두 번째 매개변수 요청정보에 대한 응답 개체 res app.get('/', function(req, res){ //응답함수에 대한 callback res.send('hello home page'); }); //사용자 경로 지정 , get이 이런 일을 함 //어떤 요청이 들어왔을 때 길을 찾게 해줌 //이런 역할을 하는 애 : router(길을 찾는다) //이런 일 : routing app.get('/login', function(req, res){ //응답함수에 대한 callback res.send('<h1>Login please</h1>'); }); app.listen(3000, function(){ //port지정 //접속 성공을 알기 위한 callback 표현 console.log('Connected 3000 port!'); }); | cs |
리턴값이 json으로 떨어지는 것을 확인하기.
---> send('login please');
출처
- 인프런 [nodejs 강좌] Node.js 를 이용해 웹애플리케이션 만들기
- http://webframeworks.kr/tutorials/nodejs/api-server-by-nodejs-02/
- https://vinebrancho.wordpress.com/2014/03/24/node-js
- http://jayzzz.tistory.com/55
'Server-Side > Node.js' 카테고리의 다른 글
에러 node js listen EADDRINUSE 3000 해결 (0) | 2018.04.27 |
---|---|
'node' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. /환경변수 에러 (1) | 2018.01.16 |
node js, get과 post방식 (0) | 2017.12.14 |
node js 에서 템플릿 엔진 사용 (0) | 2017.12.14 |
연결성 (0) | 2017.12.13 |