node 를 어떻게 수정 하 는 지 상세 하 게 설명 합 니 다.modules 파일

머리말
때때로 npm 에 있 는 가방 을 사용 하면 bug 가 있 는 것 을 발견 할 수 있 습 니 다.우 리 는 어떻게 수정 하 는 지 알 고 있 습 니 다.그러나 다른 사람 은 일시 적 으로 업데이트 할 수 없 거나 우리 의 특별한 수요 가 있 습 니 다.다른 사람 이 수정 하고 싶 지 않 을 때 우 리 는 스스로 풍족 하 게 먹 을 수 밖 에 없습니다.그렇다면 우 리 는 어떻게 다른 사람의 소스 코드 를 수정 해 야 합 니까?우선,node 직접 수정modules 에 있 는 파일 은 잘 되 지 않 습 니 다.다시 설치 하면 의존 도가 없습니다.일반적으로 자주 사용 하 는 방법 은 두 가지 가 있다.
다른 사람의 코드 를 로 컬 에 다운로드 하여 src 디 렉 터 리 에 놓 고 수정 한 후에 수 동 으로 도입 합 니 다.
4.567917.fork 다른 사람의 코드 를 자신의 창고 로 옮 기 고 수정 한 후에 자신의 창고 에서 이 플러그 인 을 설치 합 니 다이 두 가지 방법의 결함 은 바로 업데이트 가 번 거 롭 습 니 다.우 리 는 매번 수 동 으로 코드 를 업데이트 해 야 하기 때문에 플러그 인과 동시에 업데이트 할 수 없습니다.만약 에 우리 가 수정 하고 자 하 는 코드 가 다른 사람의 작은 모듈 일 뿐 다른 대부분의 코드 가 움 직 이지 않 는 다 면 이 때 는 매우 투기 적 인 조작 이 있 습 니 다.웹 팩 alias 를 이용 하여 다른 사람의 코드 를 덮어 씁 니 다.
웹 팩 alias 의 역할
웹 팩 alias 는 일반적으로 경로 별명 을 설정 하여 경로 코드 를 적 게 쓸 수 있 도록 합 니 다.

chainWebpack: config => {
  config.resolve.alias
   .set('@', resolve('src'))
   .set('#', resolve('src/views/page1'))
   .set('&', resolve('src/views/page2'));
},
즉,웹 팩 alias 는 우리 가 쓴'약자 경로'를 바 꾸 고 nodemodules 에 있 는 파일 도 유효 합 니 다.이 럴 때 우 리 는 다른 사람의 소스 코드 에서 모듈 을 참조 하 는 경 로 를 우리 자신의 파일 로 바 꿀 수 있다.
구체 적 인 조작 은 다음 과 같다.
다른 사람의 소스 코드 에서 수정 해 야 할 모듈 을 찾 아 src 디 렉 터 리 로 가세 요
  • 버그 를 수정 하고 다른 파일 을 참조 하려 면 절대 경로 로 써 야 합 니 다
  • 4.567917.이 모듈 이 도 입 된 경 로 를 찾 습 니 다.
    웹 팩 alias 설정실제 조작 해 봐.
    qiankun 프레임 워 크 의 patchers 모듈 을 예 로 들 면:

    파일 이 인 용 된 경 로 는:./patchers(우리 가 차단 할 경로)입 니 다.

    파일 내용:

    src/assets/patchers.js 에 내용 을 복사 하고 import 경 로 를 절대 경로 로 변경 하 며 코드 를 추가 합 니 다.

    웹 팩 alias 설정(vue-cli 4 를 사용 하고 설정 파일 은 vue.config.js):
    
    const path = require('path');
    module.exports = {
     chainWebpack: config => {
      config.resolve.alias
       .set('./patchers', path.resolve(__dirname, 'src/assets/patchers.js'))
     }
    };
    
    코드 를 실행 하고 콘 솔 인쇄 에 성공 한 것 은 우리 가 다른 사람의 코드 를 성공 적 으로 덮어 썼 음 을 나타 내 는 것 입 니 다.그리고 다른 사람의 코드 가 업데이트 되 었 을 때 우 리 는 동시에 업데이트 할 수 있 습 니 다.다만 이 모듈 의 코드 는 우리 가 사용자 정의 한 것 을 사용 합 니 다.포장 하 셔 도 돼 요.

    패 치 패키지 로 수정
    발굴 우@Leemagination 지점 을 통 해 patch-package 를 사용 하여 node 를 수정 합 니 다.modules 안의 파일 이 더 편리 합 니 다.
    절차 도 간단 하 다.
  • patch-package 설치:npm i patch-package--save-dev
  • package.json 수정,추가 명령 post install:
    
    "scripts": {
    + "postinstall": "patch-package"
     }
    
    
    수정 nodemodules 안의 코드
    실행 명령:npx patch-package qiankun.
    패 치 패 키 지 를 처음 사용 하면 프로젝트 루트 디 렉 터 리 에 패 치 폴 더 를 생 성 합 니 다.수 정 된 파일 diff 기록 이 있 습 니 다.

    이 패키지 버 전이 업데이트 되면 명령 을 실행 합 니 다:git apply--ignore-whitespace patches/qiankun+2.0.11.patch.그 중에서 qiankun+2.0.11.patch 는 생 성 된 파일 이름 입 니 다.
    엔 딩
    이 방법 은 투기 도 많 고 한계 도 많 지만 사용 하기 도 좋 습 니 다.기술 은 끊 임 없 는 탐색 이 필요 합 니 다.무슨 문제 나 잘못 이 있 으 면 지적 해 주 십시오!
    node 를 어떻게 수정 하 는 지 에 대한 자세 한 설명 입 니 다.modules 에 있 는 파일 의 글 은 여기까지 입 니 다.nodemodules 수정 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기