tsconfig.json
의 문제점
baseUrl
설정 후 paths
설정한 경우 ts-node
나 ts-node-dev
환경에서 tsconfig.json
대로 실행이 가능하지만, tsc
빌드 후 dist
에서는 모듈을 찾지 못하는 경우가 발생함
- 실제 traspiled 된 JavaScript 파일들을 확인해보면
src
등, paths
설정한 그대로 유지되고 있음. 즉, tsc
는 모듈 경로를 해석해서 모듈 경로 위치를 바꿔주지 않음
Module-alias로 해결
yarn add -D module-alias
libs
폴더를 alias로 사용할 경우 src
폴더 아래에 다음과 같이 실제 경로를 적어 준다.
import moduleAliases from "module-alias";
import path from "path";
moduleAliases.addAliases({
libs: path.resolve(__dirname, "./libs"),
});
moduleAliases.tsmoduleAliases.ts
파일을 만든 후, 엔트리에는 아래와 같이 모듈을 최상단에 등록해준다. 그리고 위에서 만든 모듈 경로 지정도 해준다.
import "module-alias/register";
import "./moduleAliases";
index.ts