0316
Node.js
- 스크립트 언어라 어느 환경에서도 도작
- 성능이 빠르고 좋음
- 배우기 쉬움
- js 쓰는 개발자가 많음
NPM
- npm ? : 노드 패키지를 관리 해주는 툴
- 패키지 관리 : 프로젝트를 위해 다양한 프로젝트를 받고,
- 충돌관련 문제를 json 파일로 관리
- npm 사용하기 ;
npm init : package.json 생성.
npm init --yes : package.json 기본값.
npm install 패키지 이름 : 패키지 설치.
시작
- main.js 만들기
(node main.js)
모듈
- node.js 에서 module 은 필요한 함수들의 집합을 의미
const test_module = require('module_name');
EXPRESS
- 웹 서버 생성과 관련된 기능을 제공.(프레임워크)
- 각종 메소드와 미들웨어가 내장됨.
( http 모듈 이용시 가독성,확장성 안좋아서 대체하고자 Express 프레임워크 사용 )- npm install express
Express 사용
- express = require('express')
- express() : express application 을 만듦
템플릿 엔진
- 문법과 설정에 따라 파일을 html 형식으로 변환시키는 모듈
- ejs : embedded Javascript의 약자, 자스가 내장되어있는 html 파일 확장자는 .ejs
ejs 템플릿
- npm install ejs
- app.set('view engine','ejs); // app에 view engine을 ejs 로 사용ㅎ
- app.set('/view','views') // vies 파일에 ejs 애들 모아둔다고 선언
- 라우팅
- app.get('/',(req,res)=>{ res.render('test') })
(가장 첫 경로인 / 경로로 들어오면 test.ejs 를 렌더링함)- app.listen(port,() => {console.log('서버연결성공')});
( .listen메소드로 서버와 포트를 연결 시켜줌)
ejs 문법 사용하기
- <% %> ( %%사이에 자바스크립트 코드가 들어가야함 )
- <%= %> ( 값을 템플릿에 출력할 때 사용함)
- <%- include('view의 상대주소')%> ( 다른 view 파일을 불러올 때 사용 )
미들웨어 ?
- 요청이 들어옴에 따라 응답까지의 중간과정을 함수로 분리한 것
- 서버와 클라이언트를 이어주는 중간 작업
- use()를 이용해 등록 할 수 있다.
- app.use('/views',express.static(__dirname + '/views'));
static
- 이미지,css,js 등 정적 파일등을 모아둠
- express 에있는 static 메소드를 통해 미들웨어로 로드한다
**(app.use('/static',express.static(__dirnam+'/static'));