일반적으로 서버는 URL 요청에 대해 다른 응답이 있어야합니다. 경로에 요청 된 URL 및 기타 필요한 GET 및 게시 매개 변수를 제공해야하며,이 데이터를 기반으로 해당 코드를 실행해야합니다. 필요한 모든 데이터는 요청 객체에 포함되어 있으며 onrequest () 콜백 함수의 첫 번째 매개 변수로 전달됩니다. 이 데이터를 구문 분석하려면 추가 모듈, 즉 URL 및 쿼리 스트링 모듈을 호출해야합니다.
URL : 이것은
모듈에는 URL 해상도 및 구문 분석 유틸리티가 있습니다. 요구 ( 'url')로 전화하십시오
사용하십시오.
구문 분석 된 URL 객체에는 URL 문자열에 존재하는지 여부에 따라 다음 필드 중 일부 또는 전부가 있습니다. URL 문자열에없는 모든 부분은 구문 분석 된 객체에 있지 않습니다. URL에 대한 예제가 표시됩니다
'http : // user : [email protected] : 8080/p/a/t/h? query = string#hash'
HREF : 원래 구문 분석 된 전체 URL. 프로토콜과 호스트는 모두 낮게 사용됩니다.
예 : 'http : // user : [email protected] : 8080/p/a/t/h? query = string#hash'
프로토콜 : 요청 프로토콜, 하단.
예 : 'http :'
호스트 : 포트 정보를 포함하여 URL의 전체 하위 위치 호스트 부분.
예 : 'host.com:8080'
인증 : URL의 인증 정보 부분.
예 : '사용자 : Pass'
호스트 이름 : 호스트의 하위 위치 호스트 이름 부분입니다.
예 : 'host.com'
포트 : 호스트의 포트 번호 부분.
예 : '8080'
PathName : URL의 경로 섹션은 호스트 후 및 쿼리 이전, 초기 슬래시를 포함하여 쿼리 전에 제공됩니다.
예 : '/p/a/t/h'
검색 : 주요 물음표를 포함하여 URL의 '쿼리 문자열'부분.
예 : '? query = string'
경로 : PathName 및 검색의 연결.
예 : '/p/a/t/h? query = string'
쿼리 : 쿼리 문자열의 '매개 변수'부분 또는 쿼리 스트링 패리 객체.
예 : 'query = string'또는 { 'query': 'string'}
해시 : 파운드 신호를 포함하여 URL의 '조각'부분.
예 : '#Hash'
종속성 주입을 사용하여 라우팅 모듈을 더 느슨하게 추가합니다. 라우팅 대상의 함수를 요청 핸들러라고합니다. 요청 핸들러를 구현하려면 RequestHandlers라는 모듈을 작성해야합니다. 물론 다른 이름으로 지정할 수 있습니다. 각 요청 핸들러마다 자리 표시 자 기능을 추가 한 다음 이러한 기능을 모듈 메소드로 내보내므로 요청 핸들러 및 라우팅 모듈을 경로에 연결하여 경로를 따라갈 수 있습니다.
특히 일련의 요청 핸들러는 여기에서 객체를 통과해야하며, 객체를 느슨하게 결합 된 메소드를 사용하여 Route () 함수에 주입해야합니다.
연관 배열에서 요소를 가져 오는 것과 같은 방식으로 전달 된 객체에서 요청 처리 기능을 가져올 수 있으므로 [PathName] (); 코드는 다음과 같습니다.
var hone = {} honge [ "/"] = requestHandlers.start; handle [ "/start"] = requestHandlers.Start; handle [ "/Upload"] = requestHandlers.upload;