Node.js의 경로, OS 및 URL 모듈에 대해 이야기해 보겠습니다.
이 글은 Node의 경로 모듈(path), 시스템 모듈(os), url 모듈에 대해 간략하게 이해하는 데 도움이 되기를 바랍니다.
Node.js path
모듈은 경로 작업을 위한 일부 API를 제공하고, os
모듈은 운영 체제 관련 정보를 위한 일부 API를 제공합니다. > url 핵심 모듈은 URL 주소를 구문 분석하는 API를 제공합니다. 오늘은 주로 path 모듈, os 모듈, url 모듈의 공통 API에 대해 알아 보겠습니다! path
模块提供了一些路径操作的api,os
模块提供了一些操作系统相关信息的api,url
核心模块为我们提供解析URL地址的api,今天主要对path模块、os模块和url模块的常用api学习了解!
1、路径模块(path)
提供操作路径信息api
path.extname (
获取路径信息的扩展名
)
// 引入 path 模块 let path = require('path'); // 获取路径信息的扩展名 let info = path.extname('hello.html') console.log(info);
path.resolve (
路径或路径片段的序列解析为一个绝对路径
)
//resolve把一个路径或路径片段的序列解析为一个绝对路径 let arr = ['/aaa','bbb','ccc'] let info1 = path.resolve(...arr) //数组解构一下 console.log(info1);
path.join (
使用平台特点分隔符将path片段连接,并规范化生成的路径
)
// join使用平台特点分隔符将path片段连接,并规范化生成的路径 console.log(__dirname); let info2 = path.join(__dirname,'aaa','bbb','ccc') console.log(info2);
这里简单说一下这几个的意思:
__dirname
: 获得当前执行文件所在目录的完整目录名;__filename
: 获得当前执行文件带有完整绝对路径的文件名;process.cwd()
: 获得当前执行node命令时候的文件目录名;
更多api请查看node官方文档:http://nodejs.cn/api/path.html
2、系统模块(os)
提供了一些操作系统相关信息的api
os.cpus() (
获取cpu信息
)os.arch() (
获取系统架构:x32或x64
)os.totalmem() (
获取内存信息
)......
更多api请查看node官方文档:http://nodejs.cn/api/os.html
3、url模块
url 模块提供用于网址处理和解析的实用工具。提供了两套 API 来处理 URL:一个是旧版本遗留的 API url.parse,url.format(), url.resolve(),一个是实现了 WHATWG标准的新 API。建议使用新版本,使用解构赋值的方式导入模块。
旧版
// 旧版 // 引入 url 模块 let url = require('url'); // 解析(url.parse) let urlMore = url.parse('http://www.baidu.com?id=1&token=qwerty') //旧版写法 console.log(urlMore); // 合成(url.resolve) let urlMore2 = url.resolve('http://www.baidu.com','./aaa/ccc') console.log(urlMore2);
新版
// 新版 // 引入 url 模块 let {URL} = require("url"); // 传入一个完整的绝对地址 let urlMore3 = new URL('http://www.baidu.com?id=1&token=qwerty') //新版写法 console.log(urlMore3); // 第一个参数传入相对路径,第二个参数传入绝对路径,两者拼接进行分析 let urlMore4 = new URL('./ads/ddd','http://www.baidu.com?') console.log(urlMore4);
参数解析:
hash
:获取及设置 URL 的片段部分。分配给 hash 属性的值中包含的无效 URL 字符是百分比编码的。host
:获取及设置 URL 的主机部分。(也就是域名加端口部分)。url.hostname
:获取及设置 URL 的主机名部分。url.host
和url.hostname
之间的区别是url.hostname
不包含端口。href:
获取及设置序列化的 URL。获取href
属性的值等同于调用url.toString()
。将此属性的值设置为新值等同于使用 new URL(value) 创建新的URL对象。 URL 对象的每个属性都将被修改。如果给href
属性设置的值是无效的 URL,则将会抛出TypeError
。origin
:包含了协议的host, 获取只读的序列化的 URL 的 origin。port
:端口获取及设置 URL 的端口部分。端口值可以是数字或包含 0 到 65535(含)范围内的数字字符串.端口可以是空字符串的,这时端口就会自动根据协议来选取。protocol
:设置连接协议, 无效协议值会被忽略. 比如http或是https。search
:获取及设置 URL 的序列化查询部分。-
searchParams
:获取表示 URL 查询参数的URLSearchParams
对象。 该属性是只读的。 使用url.search
1. 경로 모듈(path)
작업 경로 정보 api 제공 - 🎜path.join(
플랫폼별 구분 기호를 사용하여 경로 조각을 결합하고 생성된 경로를 정규화
)🎜 🎜 🎜rrreee🎜🎜 🎜 이들의 의미에 대해 간단히 이야기해 보겠습니다. 🎜
-
__dirname
: 현재 실행 파일이 있는 디렉터리의 전체 디렉터리 이름을 가져옵니다. 🎜 -
__filename;
: 전체 절대 경로를 사용하여 현재 실행 중인 파일의 파일 이름을 가져옵니다. 🎜 -
process.cwd()
: 현재 노드 명령이 실행될 때 파일 디렉터리 이름을 가져옵니다. 🎜🎜🎜🎜더 많은 API를 확인하세요. Node 공식 문서: http://nodejs.cn/api/path.html🎜
-
경로 정보를 얻기 위한 확장명)<blockquote>
<p></p>rrreee🎜<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/301/562/237/1639048482925448.png" class="lazy" title="163904841184659Node.js의 경로, OS 및 URL 모듈에 대해 이야기해 보겠습니다." alt="1. png">🎜<ul><li>🎜path.resolve(<code>경로 시퀀스 또는 경로 조각이 절대 경로로 확인됩니다
)🎜🎜🎜rrreee🎜
2. 시스템 모듈(os)
🎜Api 일부 운영 체제 관련 정보 제공🎜- 🎜os.cpus() (
CPU 정보 가져오기
)🎜🎜 - 🎜os.arch() (
>시스템 아키텍처 가져오기: x32 또는 x64
)🎜🎜 - 🎜os.totalmem() (
메모리 정보 가져오기
)🎜🎜 - 🎜......🎜🎜 🎜🎜🎜더 많은 API를 확인하세요. Node 공식 문서: http://nodejs.cn/api/os.html🎜
3. url 모듈
🎜url 모듈은 실용적인 도구를 제공합니다. URL 처리 및 구문 분석을 위해. URL을 처리하기 위해 두 가지 API 세트가 제공됩니다. 하나는 이전 버전의 레거시 API url.parse, url.format(), url.resolve()이고 다른 하나는 WHATWG 표준을 구현하는 새로운 API입니다. 새 버전을 사용하고 구조 분해 할당을 사용하여 모듈을 가져오는 것이 좋습니다. 🎜- 🎜이전 버전🎜🎜🎜rrreee🎜
🎜
- 🎜새 버전🎜🎜🎜rrreee🎜
🎜🎜
🎜🎜매개변수 분석:🎜
- 🎜
- 🎜
host
: URL의 호스트 부분을 가져오고 설정합니다. (즉, 도메인 이름에 포트 부분을 더한 것입니다). 🎜🎜 - 🎜
url.hostname
: URL의 호스트 이름 부분을 가져오고 설정합니다.url.host
와url.hostname
의 차이점은url.hostname
에는 포트가 없다는 것입니다. 🎜🎜 - 🎜
href:
직렬화된 URL을 가져오고 설정합니다.href
속성 값을 얻는 것은url.toString()
을 호출하는 것과 같습니다. 이 속성의 값을 새 값으로 설정하는 것은 새 URL(값)을 사용하여 새 URL 개체를 만드는 것과 같습니다. URL 개체의 모든 속성이 수정됩니다.href
속성에 설정된 값이 잘못된 URL인 경우TypeError
가 발생합니다. 🎜🎜 - 🎜
origin
: 프로토콜의 호스트를 포함하고 읽기 전용 직렬화된 URL의 출처를 가져옵니다. 🎜🎜 - 🎜
port
: 포트는 URL의 포트 부분을 가져오고 설정합니다. 포트 값은 0~65535(포함) 범위의 숫자 또는 숫자 문자열일 수 있으며, 이 경우 포트는 프로토콜에 따라 자동으로 선택됩니다. 🎜🎜 - 🎜
프로토콜
: 연결 프로토콜을 설정합니다. http 또는 https와 같은 잘못된 프로토콜 값은 무시됩니다. 🎜🎜 - 🎜
search
: URL의 직렬화된 쿼리 부분을 가져오고 설정합니다. 🎜🎜 - 🎜
searchParams
: URL 쿼리 매개변수를 나타내는URLSearchParams
개체를 가져옵니다. 이 속성은 읽기 전용입니다. URL의 전체 쿼리 매개변수를 바꾸려면url.search
설정을 사용하세요. 🎜🎜🎜🎜🎜더 많은 API를 보려면 노드 공식 문서를 확인하세요: http://nodejs.cn/api/url.html#urlresolvefrom-to🎜노드 관련 지식을 더 보려면 nodejs 튜토리얼을 방문하세요! !
hash
: URL의 조각 부분을 가져오고 설정합니다. 해시 속성에 할당된 값에 포함된 잘못된 URL 문자는 백분율로 인코딩됩니다. 🎜🎜 - 🎜
- 🎜새 버전🎜🎜🎜rrreee🎜
- 🎜이전 버전🎜🎜🎜rrreee🎜
위 내용은 Node.js의 경로, OS 및 URL 모듈에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

이 기사는 NodeJS V8 엔진의 메모리 및 가비지 수집기(GC)에 대한 심층적인 이해를 제공할 것입니다. 도움이 되기를 바랍니다.

Non-Blocking, Event-Driven 기반으로 구축된 Node 서비스는 메모리 소모가 적다는 장점이 있으며, 대규모 네트워크 요청을 처리하는데 매우 적합합니다. 대규모 요청을 전제로 '메모리 제어'와 관련된 문제를 고려해야 합니다. 1. V8의 가비지 수집 메커니즘과 메모리 제한 Js는 가비지 수집 기계에 의해 제어됩니다.

Node용 Docker 이미지를 선택하는 것은 사소한 문제처럼 보일 수 있지만 이미지의 크기와 잠재적인 취약점은 CI/CD 프로세스와 보안에 상당한 영향을 미칠 수 있습니다. 그렇다면 최고의 Node.js Docker 이미지를 어떻게 선택합니까?

Node 19가 정식 출시되었습니다. 이 글에서는 Node.js 19의 6가지 주요 기능에 대해 자세히 설명하겠습니다. 도움이 되셨으면 좋겠습니다!

파일 모듈은 파일 읽기/쓰기/열기/닫기/삭제 추가 등과 같은 기본 파일 작업을 캡슐화한 것입니다. 파일 모듈의 가장 큰 특징은 모든 메소드가 **동기** 및 ** 두 가지 버전을 제공한다는 것입니다. 비동기**, sync 접미사가 있는 메서드는 모두 동기화 메서드이고, 없는 메서드는 모두 이기종 메서드입니다.

이벤트 루프는 Node.js의 기본 부분이며 메인 스레드가 차단되지 않도록 하여 비동기 프로그래밍을 가능하게 합니다. 이벤트 루프를 이해하는 것은 효율적인 애플리케이션을 구축하는 데 중요합니다. 다음 기사는 Node.js의 이벤트 루프에 대한 심층적인 이해를 제공할 것입니다. 도움이 되기를 바랍니다!

nodejs 실행 파일을 pkg로 패키징하는 방법은 무엇입니까? 다음 기사에서는 pkg를 사용하여 Node 프로젝트를 실행 파일로 패키징하는 방법을 소개합니다. 도움이 되기를 바랍니다.

노드가 npm 명령을 사용할 수 없는 이유는 환경 변수가 올바르게 구성되지 않았기 때문입니다. 해결 방법은 다음과 같습니다. 1. "시스템 속성"을 엽니다. 2. "환경 변수" -> "시스템 변수"를 찾은 다음 환경을 편집합니다. 3. nodejs 폴더의 위치를 찾습니다. 4. "확인"을 클릭합니다.
