[Node.js] Path Module 사용법
- Archive2/WEB
- 2022. 7. 9.
* 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.
* 지속적으로 내용을 수정해 나갈 예정입니다.
_contents
#1 Path Module이란?
#2 Path 모듈 사용법
#2.1 __filename & __dirname
#2.2 path.sep & path.delimiter
#2.3 path.join
#1 Path Module이란?
path 모듈은 Node.js에서 폴더와 파일의 경로를 쉽게 조작하도록 제공하는 모듈이다.
path 모듈이 필요한 이유 중 하나는 운영체제별로 경로 구분자가 다르기 때문이다.
운영체제의 경로는 크게 Window Type 과 Unix Type(MAC & LINUX)으로 나뉜다.
Window Type : C:\Users\Node...
Unix Type : /home/Node...
위에 예시에서 확인할 수 있듯이, Window Type의 구분자는 \ 이고, Unix Type의 구분자는 / 이다.
이 외에도 파일명이나 확장자를 따로 떼어주는 기능 등 path 모듈은 프로그래머의 편의를 위한 다양한 기능을 제공한다.
#2 Path 모듈 사용법
Path 모듈은 Node.js 내장 모듈이기에 바로 불러와서 사용할 수 있다.
const path = require('path');
#2.1 __filename & __dirname
__filename : 현재 파일의 경로를 표시한다.
__dirname : 현재 폴더의 경로를 표시한다.
const fileStr = __filename;
const dirStr = __dirname;
console.log(fileStr);
console.log(dirStr);
/workspace/NODE_WEB_SERVER/path.js
/workspace/NODE_WEB_SERVER
#2.2 path.sep & path.delimiter
path.sep : 경로의 구분자를 표시한다. (윈도우 : \ 유닉스 : /)
path.delimieter : 환경 변수의 구분자를 표시한다. (윈도우 : ; 유닉스 : 콜론(:))
path.sep: /
path.delimiter: :
#2.3 path.join
path.join(경로1, 경로2, ..) : 여러개의 인수(경로)를 하나의 경로로 합쳐준다. 상대경로(..)와 현 위치(.)도 자동으로 처리한다.
console.log(path.join("Users", "test", "test.txt"));
[실행결과] Users/test/test.txt
path.join & __dirname example
console.log(path.join(__dirname, "Users", "test", "test.txt"));
[실행결과] /workspace/NODE_WEB_SERVER/Users/test/test.txt
#2.4 path.extname & path.basename
path.extname : 파일의 확장자를 표시한다.
const path = require('path');
const fileString = __filename;
console.log("file type : ", path.extname(fileString));
[실행결과] file type : .js
path.basename : 파일의 이름(확장자 포함)을 표시한다.
path.basename(경로,확장자) 와 같이 사용하며, 두 번째 인수로 확장자를 보내면 파일의 이름만 출력한다.
const path = require('path');
const fileString = __filename;
console.log("file name(type) : ", path.basename(fileString));
console.log("file name : ", path.basename(fileString, path.extname(fileString)));
[출력결과]
file name(type) : path.js
file name : path
'Archive2 > WEB' 카테고리의 다른 글
[JS] querySelector - CSS Property 접근 하기 (0) | 2022.11.23 |
---|---|
[JS] querySelector & querySelecotrAll - HTML element 접근 하기 (0) | 2022.11.21 |
[HTTP] HTTP Request & Response 메시지 구조 (0) | 2022.06.27 |
[HTTP] Content-Type & MIME (0) | 2022.06.23 |
[JavaScript] encodeURIComponent & decodeURIComponent : URI 인코딩 & 디코딩 (0) | 2022.06.23 |