1, 오프닝 분석
이 기사에서는 이 세 가지 모듈을 각각의 길이가 그리 길지 않기 때문에 함께 논의합니다. 둘째, 이들 사이에는 종속성이 있으므로 차례로 소개하고 예를 들어 분석합니다. 더 이상 고민하지 말고 다음 문서를 살펴보시기 바랍니다.
(1), "URL 모듈"

여기 작은 밤이 있습니다:
var url = require('url');
var queryUrl = "
http://localhost:8888/bb?name=bigbear&memo=helloworld" ;
console.log(typeof url.parse(queryUrl)) ;
console.log(url.parse(queryUrl)) ;
실행 결과:
객체 // 유형
{
프로토콜: 'http:',
슬래시: true,
인증: null,
호스트: 'localhost:8888',
포트 : '8888',
호스트 이름: 'localhost',
해시: null,
검색: '?name=bigbear&memo=helloworld',
쿼리: 'name=bigbear&memo=helloworld',
경로명: '/bb',
경로: '/bb?name=bigbear&memo=helloworld',
href: 'http://localhost:8888/bb?name=bigbear&memo=helloworld'
}
설명은 다음과 같습니다.
프로토콜: 요청 프로토콜
호스트: URL 호스트 이름이 포트 정보를 포함하여 소문자로 변환되었습니다
auth: URL의 인증 정보 부분
호스트 이름: 호스트의 호스트 이름 부분을 소문자로 변환했습니다.
포트: 호스트의 포트 번호 부분
경로 이름: 호스트 이름 뒤, 쿼리 요청 전 위치에 있는 URL의 경로 부분
검색: 선행 물음표를 포함하는 URL의 "쿼리 문자열" 부분입니다.
경로: 경로명과 검색이 함께 연결됩니다.
쿼리: 쿼리 문자열의 매개변수 부분(물음표 뒤의 문자열 부분) 또는 querystring.parse()를 사용하여 구문 분석한 후 반환된 개체입니다.
해시: URL의 “#” 뒤 부분(# 기호 포함)
보조 API: "url.format(urlObj)"

함수: URL 개체를 입력하고 형식이 지정된 URL 문자열을 반환합니다.
(2), "QueryString 모듈"

"QueryString" 모듈은 URL 매개변수 문자열과 매개변수 개체를 서로 변환하는 데 사용됩니다. 다음은 아래와 같은 예입니다.
var url = require('url');
var qs = require('querystring');
var queryUrl = "
http://localhost:8888/bb?name=bigbear&memo=helloworld" ;
queryUrl = url.parse(queryUrl).query ;
console.log(queryUrl) ;
console.log(qs.parse(queryUrl)) ;
실행 결과는 다음과 같습니다.
name=bigbear&memo=helloworld
{
이름: '빅베어',
메모: 'helloworld'
}
보충 API:
Querystring.stringify(obj, [sep], [eq])------객체를 쿼리 문자열로 직렬화합니다.
기본 구분 기호('&')와 배포 문자('=')를 재정의할지 여부를 선택할 수 있습니다.
Querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':')// 다음 문자열 'foo:bar;baz:qux'를 반환합니다.
querystring.parse(str, [sep], [eq], [options])------쿼리 문자열을 객체로 역직렬화합니다. 기본 구분 기호('&')와 배포 문자('=')를 재정의할지 여부를 선택할 수 있습니다.
옵션 객체에는 처리되는 키 수를 제한하는 데 사용할 수 있는 maxKeys 속성(기본값은 1000)이 포함될 수 있습니다. 0으로 설정하면 키 수에 대한 제한이 제거됩니다.
예: querystring.parse('foo=bar&baz=qux&baz=quux&corge') // { foo: 'bar', baz: ['qux', 'quux'], corge: '' }
(3), "경로 모듈"
이 모듈에는 파일 경로를 처리하고 변환하기 위한 도구 세트가 포함되어 있습니다. 거의 모든 방법은 문자열만 변환하며, 파일 시스템은 경로가 실제이고 유효한지 확인하지 않습니다.
간단한 밤부터 시작해 보겠습니다.
var url = require('url');
var qs = require('querystring');
var 경로 = require("경로") ;
var queryUrl = "
http://localhost:8888/bb?name=bigbear&memo=helloworld
" ;
var root = path.basename(queryUrl) ;
console.log(루트); //bb?name=bigbear&memo=helloworld
"/"로 구분된 경로의 마지막 부분을 반환합니다.
var url = require('url');
var qs = require('querystring');
var 경로 = require("경로") ;
var queryUrl = "
http://localhost:8888/bb?name=bigbear&memo=helloworld
" ;
var root = path.basename(queryUrl) ;
console.log(루트); //bb?name=bigbear&memo=helloworld
var ext = 경로.extname(루트) ;
console.log(ext || "Ext 이름이 아님 !") ; // Ext 이름이 아님 !
API가 너무 많기 때문에 일반적으로 사용되는 몇 가지 API만 위에 나열되어 있습니다.
종합밤 2개
시나리오 설명------서버는 다양한 상황에서 요청을 받고 "Url"을 통해 다르게 처리합니다.
(1), "index.html"을 생성합니다