node_modules를 직접 수정하시겠습니까? 당신은 매우 우아하지 않습니다!
1873 단어 npm
node_modules의 파일을 수정해야 하는 이유는 무엇입니까?
일일 개발에서는 node_modules의 코드를 변경할 필요가 거의 없지만 수정해야 하는 상황이 많습니다.
예를 들어, 지난번에 만났던 장면. 인터페이스 전달을 위해 미들웨어 패키지를 사용했는데 문제가 발생했습니다. 이 패키지는 업로드된 파일의 형식을 제한합니다.
사실 파일 형식에 대한 제한을 없애고 모든 파일 형식을 지원하고 싶기 때문에 node_modules에서 이 패키지의 코드를 강제로 수정하고 제한을 해제해야 원하는 효과를 얻을 수 있습니다.
어떻게 변경합니까? 이것은 문제입니다. 아니면 어떻게 바꿔야 최고가 될까요?
1. 직접 수정
즉, node_modules로 직접 가서 해당 패키지의 코드를 찾아 해당 위치에서 코드를 수정한 다음 프로젝트를 다시 시작하면 이해하기 쉽습니다. 내가 원하는 효과를 얻을 수 있습니다.
그러나 사실 이 접근 방식에는 단점이 너무 많습니다!
그래서 아무나 해서는 안됩니다.
2. 패키지를 독립적으로 유지
업로드 파일의 형식을 제한하는 A라는 패키지를 사용했는데 원하지도 않고 제한을 해제하고 싶은데 어떻게 하면 되나요?
이렇게 할 수 있습니다. 실제로 패키지 A의 복사본인 새 패키지 B를 작성하고 복사를 마친 후 패키지 B의 제한 사항을 해제한 다음 패키지 B를 npm 플랫폼에 게시합니다.
지금은 더 이상 내 프로젝트에서 패키지 A를 사용할 필요가 없으며 유지 관리하는 패키지 B만 설치하면 됩니다. 이것으로도 그 효과를 얻을 수 있지만 유지 관리 비용이 증가합니다.
3. 패치 패키지
이것은 node_modules에 있는 패키지의 코드를 수정하는 데 특별히 사용되는 도구이며 사용하기도 매우 간단합니다.
3.1 패치 패키지 설치
npm i patch-package
3.2 node_modules 수정
예를 들어 패키지 A를 수정하려면 node_modules에서 직접 수정하고 다음 명령을 실행합니다.
npx 패치 패키지 A
이때 디렉토리 패치는 프로젝트의 루트 디렉토리에 나타나며 패키지 A의 패치 파일이 그 안에 나타납니다. 이 파일은 매우 유용할 수 있습니다.
패치 디렉토리를 Git에 제출하는 것을 잊지 마십시오.
사실 이때 이미 본인이 수정한 코드를 사용하고 있는데 어떻게 하면 동료들이 그 코드와 동기화를 시킬 수 있을지가 관건이다.
3.3 "사후 설치": "패치 패키지"
package.json 파일의 스크립트에 명령 추가
"postinstall": "patch-package"
이 명령의 기능은 다음과 같습니다. 동료가 npm i를 실행할 때 npm run postinstall 명령이 자동으로 실행됩니다. 즉, 패치 디렉토리를 읽고 해당 패치를 해당 패키지에 넣습니다.
Reference
이 문제에 관하여(node_modules를 직접 수정하시겠습니까? 당신은 매우 우아하지 않습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/liujie/modify-nodemodules-directly-you-are-not-very-elegant-3ce2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)