미들웨어
//ex18middleware.js
var http=require('http'),
express=require('express'),
path=require('path'),
static = require('serve-static');
//express객체 생성
var app=express();
app.set('port',3333);
app.use('/aaa',static(path.join(__dirname,'public')));
// 주소/aaa 가들어가면 static을 실행시키고 __dirname이 현재 위치를 알려주고 'public' 넣어서 public폴더를 찾아간다.
// 그 후 app.use 3번째에서 img주소를 추가해서 이미지 파일이 호출될 수 있도록 한다.
// 즉 /aaa= C:\MyJava\MyNode\public
//public이라는 디렉토리에 정적인 파일을 두고 '/' 경로로 접근하고자 할 때 사용
//미들웨어
app.use(function(req,res,next){
console.log('1. 미들웨어 요청 처리...');
res.writeHead(200,{'Content-Type':'text/html; charset=utf-8'})
res.write("<h1>Hello Express</h1>");
next();
})
app.use(function(req,res,next){
console.log('2. 미들웨어 요청 처리...');
req.user='King'; //request에 user라는 키값으로 'scott'을 할당
next();
})
app.use(function(req,res,next){
console.log('3. 미들웨어 요청 처리...');
res.write("<h2 style='color:red'>"+req.user+"</h2>");
res.write("<img src='/aaa/images/a.png'>");
res.end();
})
//express server시작
http.createServer(app).listen(app.get('port'),function(){
console.log('http://localhost:3333');
})
뷰엔진
//뷰엔진
//npm i ejs --s
//npm i nodemon -g
//기본 모듈 불러오기
var http=require('http'),
express=require('express'),
path=require('path'),
static =require('serve-static');
var app=express();
//ejs 뷰엔진을 사용해보자.
app.use("/pub",static(path.join(__dirname,'public')));
//뷰엔진 설정
app.set("views",path.join(__dirname,'views')); //views까지 경로를 절대경로로 찾아가서
app.set('view engine','ejs'); //확장자를 찾아간다.
app.get('/',(req,res)=>{
//res.send("<h1>Hello View Engine</h1>");
var data={title:'Express View EJS', msg:'안녕하세요? 노드~~'} //key:value값을 data에 객체를 담아준다.
res.render("index",data); //index= views안에 있는 파일이름
//render()메소드를 호출하여 뷰 템플릿(hello.ejs)를 통해 응답 데이터를 생성한다.
})
http.createServer(app).listen(3333,function(){
console.log('http://localhost:3333');
})
MVC설정
작업 폴더에서 npm init => npm i express --s => npm i ejs --s
하면 project 생성 완료
'개발자 > 국비지원 SW' 카테고리의 다른 글
국비지원 86일차 - Spring Bean xml < - > java(config), NodeJS oracleDB (0) | 2020.08.14 |
---|---|
국비지원 85일차 - Spring container, DI(의존성 주입), bean위치, bean 자료구조, config 클래스 (0) | 2020.08.14 |
국비지원 82일차 - NodeJS http, request, url, express, routing (0) | 2020.08.10 |
국비지원 81일차 - 장바구니 목록 (0) | 2020.08.07 |
국비지원 80일차 - Node.js console, process, export(모듈화), 파일모듈, os모듈, path모듈, http모듈 (0) | 2020.08.06 |