Koa 프레임 의 기본 사용 (1)

8571 단어 NodeJS
홈 페이지 에 따 르 면 Koa 는 Nodejs 플랫폼 아래 의 차세 대 웹 프레임 워 크 를 바탕 으로 한다. Koa 는 커 널 방법 에서 어떠한 미들웨어 도 호출 하지 않 는 다. 이것 은 경량급 함수 라 이브 러 리 일 뿐만 아니 라 거의 모든 기능 이 제3자 에 의 해 이 루어 진다.그것 은 서버 애플 리 케 이 션 을 빠 르 고 우아 하 게 작성 할 수 있 는 방법 을 제공 했다.현재 Koa 와 Koa 2 두 가지 버 전이 있 습 니 다. 후 자 는 Nodejs 7.6.0 판 Koa 설치 명령 npm i koa koa - router 감청 경로 에 의존 합 니 다. 인 터 페 이 스 를 작성 할 때 사용 합 니 다. 설치 명령 npm i koa-router koa - views 템 플 릿 엔진 분석, 예 를 들 어 pug 템 플 릿 이나 다른 템 플 릿 엔진 을 사용 할 때 이 템 플 릿 설정 보기 템 플 릿, 설치 명령 npm i koa-views koa - static 전단 정적 파일,그림 등 정적 자원 처리 모듈, 정적 자원 디 렉 터 리 설정 후 정적 자원 Not Found 오류 가 발생 하지 않 습 니 다. 설치 명령 npm i koa-static koa - body 처리 post 요청 데이터, 파일 업로드 기능, 설치 명령 npm i koa-body : , `npm init -y` , package.json
//     koajs.com.cn
const Koa = require("koa");//  koa  
let app = new Koa();//   Koa

/*   (Context),ctx--->context
           Context  ,          (  http   http    ),        ,             。
             ,   ctx    。*/

//                          ctx.request ctx.response ,          。 
//   ctx.type   ctx.length     response   ,
//ctx.path   ctx.method     request。

//app.use(async ctx => {
//  console.log(ctx); //    Context
//  console.log(ctx.request); //        
//  console.log(ctx.response); //        
//  console.log(ctx.response.status);//      。     ,response.status     404 
//  console.log(ctx.request.url);//     url
//  ctx.response.body = "no pains,no gains.";//            body 
  //ctx.body = "hello!Good morning!";
//});

//     m1
let m1 = async function(ctx,next){
    console.log("m1  ");
    // ctx.state      (           )
    ctx.state = {
        name:"tom",
        age:18
    }
 
    next();//m1  ,            m2
    console.log("m1  ");
};

//     m2
let m2 = async function(ctx,next){
    console.log("m2  ");
    ctx.state = {
        id:1,
        hobby:"(>^ω^
    }  
    next();// m2  ,        m3,      next()  ,       m3        
    console.log("m2  ");  
};

//     m3
 let m3 = async function(ctx,next){
     console.log("m3  ");
     ctx.body = "      ";
     console.log("m3  ");
 };

//              
//app.use()                 
//             ,  “    ”     ,           
//next()  ,           

app.use(m1); //  m1
app.use(m2); //  m2
app.use(m3); //  m3
app.listen(3300);//     

//          
/*         
m1  
m2  
m3  
m3  
m2  
m1  
 */

좋은 웹페이지 즐겨찾기