절대 경로로 nodejs에서 import하는 방법을 찾다가 마땅한게 없어서 package json에 기입한 프로젝트 이름을 활용하여 Self-referencing하는 방법을 기록하고자 한다.
프로젝트 최상위 디렉토리에 있는 package.json에 Subpath patterns를 활용하여 exports를 추가한다. 해당 예시는 package.json이 있는 경로에 servers 폴더 안의 모든 js 파일을 맵핑하는 예시이다.
{
"name": "projectName",
"type": "module",
"main": "index.js",
"exports":{
"./servers/*":"./servers/*.js"
}
}
package.json을 선언하고 나면 다음과 같이 import 할 수 있다.
해당 예시는 프로젝트 루트 디렉토리/ servers/server.js 를 import 하는 예시이다.
import defaultServer from "projectName/servers/server";