어느 경로에서도 루트경로를 찾을 수 있도록 해주는 라이브러리다.
기존에 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' }
)
이렇게 하면 어떤 경로에서도 루트 경로를 자동으로 지정할 수 있다!!