>웹 프론트엔드 >JS 튜토리얼 >node_modules에서 종속 라이브러리를 우아하게 수정하는 방법은 무엇입니까? 방법 소개

node_modules에서 종속 라이브러리를 우아하게 수정하는 방법은 무엇입니까? 방법 소개

青灯夜游
青灯夜游앞으로
2022-01-31 09:00:312863검색

node프로젝트에서 node_modules의 종속 라이브러리를 우아하게 수정하는 방법은 무엇입니까? 다음 기사에서는 node_modules의 종속 라이브러리를 우아하게 수정하는 방법을 보여 드리겠습니다. 도움이 되기를 바랍니다.

node_modules에서 종속 라이브러리를 우아하게 수정하는 방법은 무엇입니까? 방법 소개

최근 회사 내에서 오픈 소스 프로젝트를 사용했습니다. 비즈니스 요구로 인해(MR 비즈니스 수정에는 적합하지 않음) @tencent/wuji-server-lite의 소스 코드만 수정해야 합니다.

"dependencies": {     
  "@tencent/taf-config": "^2.0.4",    
  "@tencent/wuji-server-lite": "2.0.30",     
  "patch-package": "^6.2.0"  
}

일반적으로 두 가지 접근 방식이 있습니다.

  • 방법 1: 수정된 코드의 이름을 변경하고 다시 패키지하여 tnpm에 제출한 다음 이 새 패키지를 직접 참조합니다

  • 방법 2: node_modules에서 로컬 종속성으로 코드 복사

위의 방법 중 어떤 방법을 사용해도 코드 집착증이 있는 사람으로서 한두 줄의 코드를 변경한 것은 매우 어색합니다. 특정 파일이 있는데 프로젝트 전체를 복사하기에는 너무 비대했고, 더군다나 더 끔찍한 점은 결국 수정한 내용을 잊어버릴 수도 있고, 추적할 차이점도 없다는 점입니다.

그 당시 여러 nodejs 담당자와 상담했습니다. 지난 2년 동안 nodejs를 사용하지 않았을 때 nodejs가 이 문제를 해결하기 위한 고급 방법을 제공했습니까? 예를 들어 특정 파일을 지정할 수 있었습니다. 다른 로컬로 대체됩니까? 대답은 '아니요'입니다.

갑자기 이런 문제를 직접 해결하기 위해 npm 패키지를 만들어볼까 하는 생각이 들었고, 평소처럼 미리 구글링을 해보니 patch-package라는 것이 이미 존재한다는 것을 알게 되었습니다(https:/ /www .npmjs.com/package/patch-package), 출시 시기가 2년 전인 것 같습니다. 만약 제가 모바일 치킨 게임을 중간에 만들지 않았다면, 어쩌면 이 라이브러리는 애초에 제가 만들었을지도 모르겠습니다.

바퀴를 다시 만들 필요가 없으니 다음에는 사용 방법을 공유하겠습니다.

1. 로컬 설치, npm i patch-package

2. package.json의 스크립트에 { "postinstall": "patch-package" }를 추가합니다. 이는 종속 항목 다음에 설치될 것입니다.

3. node_modules

4에서 코드를 수정하세요. npx patch-package your-package-name

5. 패치를 제출하신 후 패키지를 다시 설치하시면 됩니다. 수정 결과

node_modules에서 종속 라이브러리를 우아하게 수정하는 방법은 무엇입니까? 방법 소개

마지막으로 이 라이브러리의 공식 웹사이트에는 패치 사용 시기와 포크 시기를 설명하는 매우 자세한 비교가 있습니다. 설명은 매우 정확합니다.

node_modules에서 종속 라이브러리를 우아하게 수정하는 방법은 무엇입니까? 방법 소개

더 많은 노드를 보려면 관련 지식이 있으면 nodejs 튜토리얼을 방문하세요!

위 내용은 node_modules에서 종속 라이브러리를 우아하게 수정하는 방법은 무엇입니까? 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 zhihu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제