경로 조작
- path-to-regexp:
path-to-regexp
는 경로 문자열을 정규 표현식으로 변환하여 URL 라우팅에 사용할 수 있도록 합니다. 이 패키지는 동적 경로 매칭, URL 파라미터 추출 등을 지원하여 웹 애플리케이션의 라우팅 기능을 강화합니다. - path-parse:
path-parse
는 경로 문자열을 분석하여 디렉토리, 파일 이름, 확장자 등으로 분해하는 간단한 기능을 제공합니다. 이 패키지는 경로를 구성 요소별로 분리하여 각 부분에 쉽게 접근할 수 있도록 도와줍니다. - url-parse:
url-parse
는 URL 문자열을 분석하여 프로토콜, 호스트, 경로, 쿼리 등으로 분리하는 기능을 제공합니다. 이 패키지는 URL을 구성 요소별로 분석하고, 필요에 따라 수정할 수 있는 인터페이스를 제공합니다. - path-browserify:
path-browserify
는 브라우저 환경에서 Node.js 스타일의 경로 조작 기능을 제공합니다. 이 패키지는 경로 결합, 정규화, 상대 경로 처리 등 다양한 기능을 지원하여 브라우저에서도 파일 시스템 경로를 쉽게 조작할 수 있게 해줍니다. - resolve-path:
resolve-path
는 상대 경로를 기준 경로에 따라 정규화하여 절대 경로를 생성하는 기능을 제공합니다. 이 패키지는 경로의 일관성을 유지하고, 상대 경로로 인한 혼란을 줄여줍니다.
URL 처리
- path-to-regexp:
path-to-regexp
는 URL 라우팅을 위한 경로 문자열을 정규 표현식으로 변환하는 데 특화되어 있습니다. 이 패키지는 URL의 경로 부분을 처리하여 동적 라우팅 및 파라미터 추출을 용이하게 합니다. - path-parse:
path-parse
는 URL 처리보다는 경로 문자열 분석에 특화되어 있습니다. 이 패키지는 URL의 구성 요소를 처리하기보다는 파일 시스템 경로를 구성 요소별로 분해하는 데 중점을 두고 있습니다. - url-parse:
url-parse
는 URL 문자열을 분석하고 구성 요소를 조작하는 데 특화된 패키지입니다. 이 패키지는 URL의 모든 구성 요소를 쉽게 접근하고 수정할 수 있는 기능을 제공합니다. - path-browserify:
path-browserify
는 주로 경로 조작에 초점을 맞추고 있으며, URL 처리 기능은 제한적입니다. 이 패키지는 URL과 관련된 작업보다는 파일 시스템 경로를 브라우저에서 조작하는 데 중점을 두고 있습니다. - resolve-path:
resolve-path
는 URL의 경로를 정규화하는 데 도움을 줄 수 있지만, URL 전체를 처리하는 기능은 없습니다. 이 패키지는 주로 경로의 일관성을 유지하는 데 중점을 두고 있습니다.
정규화
- path-to-regexp:
path-to-regexp
는 경로 문자열을 정규 표현식으로 변환하지만, 경로 자체를 정규화하지는 않습니다. 이 패키지는 정규 표현식을 생성하여 경로 매칭을 용이하게 하지만, 경로의 형식을 변경하지는 않습니다. - path-parse:
path-parse
는 경로를 정규화하지 않으며, 단순히 경로를 구성 요소로 분해하는 데 집중합니다. 이 패키지는 정규화 기능이 없으므로, 경로의 형식을 변경하지 않습니다. - url-parse:
url-parse
는 URL의 구성 요소를 분석하지만, URL을 정규화하는 기능은 제공하지 않습니다. 이 패키지는 URL을 구성 요소별로 분리하여 분석하는 데 중점을 두고 있습니다. - path-browserify:
path-browserify
는 경로를 정규화하는 기능을 제공합니다. 이 패키지는 경로의 불필요한 부분(예:..
,.
)을 제거하여 일관된 형식으로 변환합니다. - resolve-path:
resolve-path
는 상대 경로를 기준 경로에 따라 정규화하여 절대 경로를 생성하는 기능을 제공합니다. 이 패키지는 경로의 일관성을 유지하고, 상대 경로로 인한 혼란을 줄여줍니다.
사용 예시
- path-to-regexp:
경로를 정규 표현식으로 변환하는 예시
const { pathToRegexp } = require('path-to-regexp'); const keys = []; const regex = pathToRegexp('/users/:id', keys); console.log(regex); // /users/([^/]+) console.log(keys); // [{ name: 'id', prefix: '/', delimiter: '/', optional: false, repeat: false }]
- path-parse:
경로 분석 예시
const pathParse = require('path-parse'); const parsed = pathParse('/users/john/documents/file.txt'); console.log(parsed); // { root: '/', dir: '/users/john/documents', base: 'file.txt', ext: '.txt', name: 'file' }
- url-parse:
URL 분석 예시
const URLParse = require('url-parse'); const url = new URLParse('https://example.com:8080/path?query=1#fragment'); console.log(url.protocol); // 'https:' console.log(url.hostname); // 'example.com' console.log(url.port); // '8080' console.log(url.pathname); // '/path' console.log(url.query); // '?query=1' console.log(url.hash); // '#fragment'
- path-browserify:
경로 결합 예시
const path = require('path-browserify'); const fullPath = path.join('/users', 'john', 'documents'); console.log(fullPath); // '/users/john/documents'
- resolve-path:
상대 경로를 절대 경로로 변환하는 예시
const resolvePath = require('resolve-path'); const absolutePath = resolvePath('./file.txt', '/users/john/documents'); console.log(absolutePath); // '/users/john/documents/file.txt'