루트 경로를 찾아주는 app-root-path

hyeongirlife·2022년 7월 16일
0

TIL

목록 보기
90/90
post-thumbnail

app-root-path 라이브러리

어느 경로에서도 루트경로를 찾을 수 있도록 해주는 라이브러리다.

사용 경험

기존에 app.js 에서


const accessLogStream = fs.createWriteStream(
  //app.js의 루트경로는 __dirname으로 가져옴.
  `${__dirname}/log/access.log`,
  { flags: 'a' }
)

을 사용 했었다.
하지만 모듈화를 위해 src/config 폴더 안에
log.js를 생성하여 해당 코드를 이동시켰다.

이 때 이러한 에러를 마주쳤다.

 errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/hyeongeol/Codestates/project/UserCRUD/app/src/config/log/access.log'

__dirname이 현재 log.js의 상위폴더인 config를 가르키고 있었다. 현재 access.log의 경로는 log/access.log다.

이럴 때 사용할 수 있는 npm 내장모듈인 app-root-path를 사용하면 된다.

const appRoot = require("app-root-path")

const accessLogStream = fs.createWriteStream(
  //app.js의 루트경로는 __dirname으로 가져옴.
  `${appRoot}/log/access.log`,
  { flags: 'a' }
)

이렇게 하면 어떤 경로에서도 루트 경로를 자동으로 지정할 수 있다!!

profile
머릿속에 있는 내용을 정리하기

0개의 댓글