src
ㄴ server.ts
> api
> controllers
> auth
ㄴ auth.controller.ts
auth.controller.ts 에서 server.ts에 접근하여 server를 import 하고자 한다.import server from '../../../server.ts';
../../../와 같은 경로지정을 해야한다. auth.controller.ts가 더 깊이 있었다면....?server.ts 에 접근하기 위해서 ../을 중첩하여 사용하다보면 휴먼에러😱가 발생하기 마련이다.import server from '@src/server.ts';
@src는 src 폴더를 가르킨다.server.ts 에 접근하는 방법은 동일하다!in tsconfig.json
{
...
"compilerOptions": {
...
"baseUrl": ".",
"paths": {
"@src/*": ["src/*"]
}
}
...
}
paths 에 추가하고싶은 절대경로를 선언한다. in jest.config.js
module.exports = {
...
moduleNameMapper: {
'^@src(.*)$': '<rootDir>/src$1'
}
...
};
@src가 잘 인식될 수 있도록, 위와 같이 name mapper을 설정해준다.$1은 무슨 뜻일까...?