반응형

개발 중 기존에 의존성으로 사용 중인 패키지를 수정할 필요가 생겼다. 해당 패키지를 클론하고 필요한 부분을 수정했는데 이걸 사용하려고 하니 테스트용으로 수정한 건데 npm에 배포하는 건 매우 번거로워 보였다. 배포 한 번 하면 맘대로 내리지도 못한다…

그래서 배포하지 않고 사용할 방법을 찾아봤는데 npm에서 패키지를 설치하지 않고 로컬 경로를 지정해서 설치하는 방법이 있었다.

npm i "../로컬경로"

그냥 이런 식으로 경로를 바로 넣어서 설치하면 된다. 이러면 package.json 파일엔

{
  ...
  "dependencies": {
    "패키지명": "file:../로컬경로"
  }
}

이런 식으로 저장이 된다. 이렇게 사용하면 좋은 게 로컬 패키지를 수정하면 프로젝트에서 패키지를 다시 설치할 필요 없이 바로 적용된다는 거다.

추가로 alias 기능도 소개한다.

이렇게 로컬로 사용하다가 테스트가 끝나고 이제 배포해서 사용하려고 한다. 내가 새로 배포하면 패키지 명이 바뀔 텐데 프로젝트에서 이 패키지를 사용한 곳의 이름을 모두 바꿔야 할까?

물론 텍스트 에디터에서 패키지 명을 모두 바꾸는 건 어려운 일이 아니지만, alias 기능을 이용하면 코드 수정을 최소화하면서 해결할 수 있다.

npm i 패키지@npm:나만의패키지

이렇게 설치하면 “패키지”라는 이름으로 “나만의패키지”를 사용할 수 있다.

package.json 파일엔

{
  ...
  "dependencies": {
    "패키지": "npm:@나만의패키지@^1.0.0"
  }
}

이런 식으로 저장이 된다. 패키지를 하나씩 리팩토링할 때 유용하게 사용할 수 있겠다.

반응형

+ Recent posts