File System, Path

Simple Key·2021년 12월 2일
0

File System 모듈 ?

Next js로 간단한 마크다운 블로그를 만들다 보니 fs 모듈을 거의 필수로 사용해된다는 것을 알게되었다.

fs는 file system의 약자이며 파일 처리와 관련된 작업을 하는 모듈이다. Nodejs의 가장 중요한 모듈중 하나라고 한다.

readFile, readFileSync

fs에는 생각보다 많은 메서드를이 있는데, 먼저 기본적인 파일 읽기관련 메서드부터 확인!

fs의 대부분 메서드들은 동기적, 비동기적 으로 나뉘는데 Sync가 붙어있는 메서드는 동기적으로 작동한다. 즉 fs.readFileSync 메서드로 파일을 읽어들이는 동안 다른 코드를 실행할 수 없다. fs.readFile 비동기로 실행할 경우 다른 작업도 동시에 진행할 수 있고, 파일을 다 읽으면 세번째 파라미터 callback으로 전달한 함수를 실행한다.

비동기 메서드인 경우 마지막 파라미터에 실행될 콜백함수가 작성돼야 한다.
주로 비동식 방식이 많이 사용된다고 하지만, 서버 시작시 설정 파일을 읽는 것 같이 동기적 방식이 더 적절한 경우도 있다. 이때 두번째 파라미터 [option]에 보통 인코딩 방식을 전달하며, 웹에선 일반적으로 'utf-8'을 사용한다.

Path 모듈 ?

Path 역시 Node가 제공하는 모듈중 하나이다.
파일, 폴더, 디렉토리 등 경로를 편리하게 설정할 수 있게 해주는 기능이다.
Path에도 역시 많은 메서드들이 있지만 가장많이(?) , 내가 사용해본 .join 메서드를 알아보았다.

path.join() 은 경로를 파라미터로 받아 하나의 경로로 합쳐준다. 상위경로(..), 현재경로(./)도 알아서 처리해준다.

path.join('/foo', 'bar', 'baz/test', 'hello', '..');

// return '/foo/bar/baz/asdf'

node는 서버사이드에서 작동하기 때문에 Next에서 getStaticProps, getStaticPaths 에서 사용하지 않으면 모듈을 찾을 수 없다는 Error 가 발생한다!

profile
프론트엔드 개발자 심기현 입니다.

0개의 댓글