2017-10-03 13 views
0

express.js에서 오는 hapi.js에 익숙하지 않습니다. hapi.js pluging 개념과 express.js 미들웨어 사이의 차이점을 이해하려고합니다. 일부 예제 및 자습서에서는 플러그인 등록시 콜백이 표시됩니다. 예컨대 :Hapi.js 플러그인 콜백의 사용법은 무엇입니까?

// load one plugin 
server.register(require('myplugin'), (err) => { 

    if (err) { 
     console.error('Failed to load plugin:', err); 
    } 

    server.route({ 
     method: 'GET', 
     path: '/test', 
     handler: function (request, reply) { 
      reply('test passed'); 
     } 
    }); 
}); 

그래서 내 질문은 : 외부에서이 경로를 선언 대 플러그인 등록 콜백에서 휴식 경로를 선언 사용은 무엇인가?

그리고 더 일반적으로 hapi.js 프레임 워크에서 플러그인의 실행과 express.js의 미들웨어 사이의 차이점을 알고 싶습니다. (express.js에서 미들웨어는 요청이 처리 될 때마다 하나씩 실행됩니다. 마지막 미들웨어가 호출됩니다. 그것은 hapi.js에서 같은 방법이 있나요?)

이 답

답변

0

요청 라이프 사이클과 관련이 없습니다 hapi.js에서 플러그인 등록의 순서 주셔서 감사합니다. 그러나 플러그인을 특정 순서로, 의존성 문제로, 그리고 플러그인이 등록 된 후 일부 코드를 실행해야하는 경우 선언해야 할 수도 있습니다.

가있는 게요의 구조는 (당신이 원하는 때마다 다음 ()를 호출하여)

server.register(require('hapi-auth-jwt'), err => { 
if (err) { 
    console.log(err); 
    return null; 
} 
server.auth.strategy('token', 'jwt', { 

    key: process.env.JWT_SECRET, 

    verifyOptions: { 
    algorithms: ['HS256'] 
    } 
}); 
server.register(/*other plugins*/) 
} 

은 또한 플러그인 레지스터 기능은 비동기 될 수 있음을 기억 여기

이 콜백을 요구하는 예입니다 표현과 매우 다릅니다. 레이어 (미들웨어) 대신 블록 (플러그인)으로 볼 수 있습니다. 코드 " 구성 코드"을 지향합니다.