node.js - 4. path모듈

김두나·2023년 12월 15일

node.js

목록 보기
5/6
post-thumbnail

path모듈은 왜 필요한가

  • path모듈은 파일 경로나 디렉터리 경로를 다룸

  • 굳이 경로를 다루는 모듈이 필요한 이유는 운영체제 간에 경로를 구분하는 구분자가 다르기 때문에

    1. 경로 구분자를 통일할 수 있음

  • 윈도우 운영체제는 파일 경로를 표시할 때 경로 구분자로 역슬래시(\) 사용

    C:\Users\anold\Desktop\MOMENTO

  • 유닉스 기반 운영체제인 맥OS나 리눅스에서는 경로 구분자를 슬러시(/) 사용

    /User/andold/Desktop/MOMENTO

-> 이렇게 운영체제마다 경로구문자가 다르니 맥과 윈도우를 오가면서 사용할 때는 종종 파일을 찾지 못하는 실수를 하기도 함. 그럴때 path모듈을 사용해서 경로를 지정하면 구분자를 신경쓰지 않아도 됨

2. 경로를 나누거나 합칠 수 있음

절대경로와 상대경로

1. 절대경로

  • 파일이나 폴더의 위치를 루트root 폴더부터 시작해서 파일까지 전부 다 나타내는 것(루트 폴더는 최상위 폴더를 가르킴)

C:\Users\anold\Desktop\MOMENTO

  • 웹 서버에서는 드라이브 개념이 없어서 웹에서 말하는 절대 경로는 다음처럼 나타냄

    /User/andold/Desktop/MOMENTO

2. 상대경로

  • 기준이 되는 파일이 있을 때 사용하는 경로(ex) 직접 만든 모듈을 가져와서 사용할 경우 현재파일을 기준으로 모듈이 어느 위치에 있는지 지정할 때 사용
  • 상대경로에는 같은 폴더에 있을 경우 ./ 로 표기, 한단계 위 부모 폴더에 있을 경우, ../를 사용

    import hello from "./hello.js';

경로를 다루는 주요 함수

1. path 모듈 가져오기

  • path모듈은 노드에 포함되어 있어서 설치 하지 않고 바로 가져올 수 있음
  • 하위폴더를 여러개 만들고 그 안에 있는 파일을 가져오거나 하위 폴더에 파일 저장하는데 이때 join함수를 사용하면 여러 조각으로 나눠서 입력한 경로를 연결해 하나로 만듬


    -> 터미널 결과에서 확인할 때 구분자는 윈도우는 역슬래시(\), 맥에서는 슬러시(/)로 표기

2. 경로만 추출하기 - dirname함수

  • 경로에서 파일이름을 제외한 경로만 추출하는 함수

3. 파일이름 추출하기 - basename 함수

  • 경로에서 파일이름만 추출(확장자를 제외한 이름만)
  • 확장자를 알고 있는 상태에서 선택해서 확장자 제외할 수 있음

4. 확장자 추출하기 - extname 함수

  • 확장자를 모르는 상태에서 extname함수를 사용하면 주어진 경로에서 파일의 학장자만 추출할 수 있음

5. 경로를 객체로 반환하기 - parse 함수

  • parse 함수는 경로를 분해해서 정보를 각각 객체로 반환
  • 파일경로와 이름, ,확장자 등의 정보를 객체로 반환

0개의 댓글