미들웨어

//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 생성 완료

+ Recent posts