> 웹 프론트엔드 > JS 튜토리얼 > NodeJS 연구 노트(Url, QueryString, Path) module_node.js

NodeJS 연구 노트(Url, QueryString, Path) module_node.js

WBOY
풀어 주다: 2016-05-16 16:20:27
원래의
1117명이 탐색했습니다.

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"을 생성합니다

코드 복사 코드는 다음과 같습니다.

 
 
    
         빅베어