window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster가 이미 존재합니다') } else { w.LeadBooster = { q: [], on: 함수 (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 함수 (n) { this.q.push({ t: 't', n: n }) }, } } })() 손상된 JavaScript 종속성 - The Codest에 대한 응급 처치
The Codest
  • 회사 소개
  • 서비스
    • 소프트웨어 개발
      • 프론트엔드 개발
      • 백엔드 개발
    • Staff Augmentation
      • 프론트엔드 개발자
      • 백엔드 개발자
      • 데이터 엔지니어
      • 클라우드 엔지니어
      • QA 엔지니어
      • 기타
    • IT 자문
      • 감사 및 컨설팅
  • 산업 분야
    • 핀테크 및 뱅킹
    • E-commerce
    • 애드테크
    • 헬스 테크
    • 제조
    • 물류
    • 자동차
    • IOT
  • 가치
    • CEO
    • CTO
    • 배달 관리자
  • 우리 팀
  • Case Studies
  • 방법 알아보기
    • 블로그
    • 모임
    • 웹 세미나
    • 리소스
채용 정보 연락하기
  • 회사 소개
  • 서비스
    • 소프트웨어 개발
      • 프론트엔드 개발
      • 백엔드 개발
    • Staff Augmentation
      • 프론트엔드 개발자
      • 백엔드 개발자
      • 데이터 엔지니어
      • 클라우드 엔지니어
      • QA 엔지니어
      • 기타
    • IT 자문
      • 감사 및 컨설팅
  • 가치
    • CEO
    • CTO
    • 배달 관리자
  • 우리 팀
  • Case Studies
  • 방법 알아보기
    • 블로그
    • 모임
    • 웹 세미나
    • 리소스
채용 정보 연락하기
뒤로 화살표 뒤로 가기
2018-12-27
소프트웨어 개발

손상된 JavaScript 종속성에 대한 응급 처치

다니엘 그렉

소프트웨어 개발자라면 여러분의 많은 역할 중 하나가 바퀴 발명가가 되는 것이 아니라는 것을 이미 알고 계실 것입니다. 적어도 대부분의 경우에는 그렇지 않습니다.

다음에 대해 쓰고 싶습니다. JavaScript 종속성. 하지만 처음부터 다시 시작하겠습니다. 소프트웨어 개발자라면 여러분의 많은 역할 중 하나가 또 다른 바퀴 발명가가 되는 것이 아니라는 것을 이미 알고 계실 것입니다. 적어도 대부분의 경우에는 그렇지 않습니다. 세상은 오늘날 거의 모든 것을 위한 패키지가 존재한다고 말할 수 있을 만큼 발전하여 개발을 더 쉽고 효율적으로 만들었습니다.

물론 이것은 다른 문제에 대한 관심을 잃으라는 격려가 아닙니다. 모든 패키지에는 개선하고 발전할 여지가 상당히 많습니다. 하지만 비즈니스 목표는 완벽한 제품 를 제시간에 또는 그 전에 접시에 담아보세요. 패키지는 이러한 계획을 달성하는 데 도움이 되며 다음과 같은 이점을 제공합니다. npm 또는 원사 를 가장 친한 친구 목록의 맨 위에 올려놓을 수도 있지만, 이 솔루션뿐만 아니라 어떤 솔루션도 위험을 초래할 수 있다는 점에 유의하세요. 아래 글에서 이에 대한 설명과 더 나은 해결 방법을 알려드리겠습니다.

이야기부터 시작하겠습니다...

대형 JavaScript를 상상해 보세요. 프로젝트. 비즈니스 요구 사항에 따라 개발자는 특정 패키지를 사용하여 클라이언트의 다른 시스템과 적절하게 통합할 수 있어야 합니다. 그리고 그것은 완전히 괜찮습니다. MVP 제 시간에 가져오고, 다음 계약이 체결되고 개발이 진행됩니다.. 클라이언트가 패키지 업데이트가 필요한 시스템의 다음 부분을 통합하도록 요청합니다.

이 부분은 테스트가 실행될 때까지는 잘 진행됩니다. 패키지에는 아직 제품 릴리스에서 수정되지 않은 간단하지만 불편한 버그가 포함되어 있으며 조만간 수정되지 않을 것으로 알려져 있습니다. 단순히 node_modules 디렉토리 - 리포지토리에서 추적할 수 없도록 제거해야 하므로 공동 작업자는 변경 사항에 대해 전혀 알 수 없습니다! 글쎄요, 이 글을 읽는 동안 이미 무엇을 해야 하는지 이해하셨을 겁니다. 하지만 정말 그런 망치가 필요하신가요?

문제 파악하기

직면하고 있는 문제가 나 혼자만의 문제인지 아니면 더 큰 커뮤니티와 관련된 문제인지 파악해야 합니다. 때때로 사람들은 특정 기능의 부족을 버그로 해석하기도 하는데, 이는 항상 옳은 것은 아닙니다. 따라서 귀하의 솔루션이 커뮤니티에서 승인되지 않고 공식 리포지토리에 포함되지 않을 수 있습니다.. 하지만 지금 이 순간에도 여전히 필요합니다. 자, 패치해 봅시다!

깃허브 저장소의 릴리스 노트에 따르면 패치 패키지 )는 2017년 5월에 공식 출시되었습니다. I는 강력한 도구로, 종속성 프로젝트 내부의 수정 사항을 여러분의 node_modules 디렉토리. 설치 명령을 실행하면 종속성 관리자가 변경 사항을 덮어쓰게 되므로 미친 짓이라고 말하는 사람도 있습니다.

맞습니다. 그러나 패치 패키지는 다음과 같이 공존합니다. npm 그리고 원사 완벽하게 작동하고(지금까지는 npm에서 약간 더 잘 작동한다는 것을 인정해야 합니다. 자세한 내용은 README 파일의 "왜 Yarn으로 설치 후 준비를 해야 하는가?" 섹션에서 확인할 수 있습니다), 스크립트 준비("script": { "prepare":""})를 최대한 활용합니다. package.json 파일을 만듭니다. 패치 패키지는 말 그대로 실제 프로젝트의 패치 폴더에 저장된 변경 사항과 원본 패키지 사이에 다른 디렉터리를 생성합니다..

설치 명령을 실행하고 모든 종속성을 다운로드한 후 프로젝트 디렉터리에 변경 사항을 적용하면 모든 공동 작업자가 변경 사항을 완벽하게 재구성할 수 있습니다. 삶이 더 간단해지지 않나요? 이 솔루션에는 몇 가지 단점도 있습니다. 패치 패키지는 패키지의 종속성을 수정하거나 다음을 변경할 수 없습니다. package.json.

이 경우 포크 솔루션을 사용할 수 있습니다. 또한 종속성 패키지에 적용하려는 변경 사항의 수와 시간이 지남에 따라 변경 사항이 늘어날지 여부를 고려해야 합니다. 포크 솔루션은 나만의 프로젝트이므로 포크를 사용할 때는 신중하게 생각해야 합니다.

이기적으로 굴지 마세요!

패치는 끝없는 포크를 만들거나 여러 프로젝트 소스를 생성하지 않고도 종속성을 수정할 수 있는 좋은 방법입니다. 하지만 커뮤니티를 활용하는 것이 일방적으로 이루어져서는 안 된다는 점을 항상 기억해야 합니다. 버그를 발견하거나 사용 중인 패키지를 개선할 수 있다고 생각되면 이슈를 등록하거나 프로젝트에 기여하여 다른 사람들을 돕는 것을 항상 고려해야 합니다!

관련 문서

소프트웨어 개발

미래 지향적인 웹 앱 구축: The Codest의 전문가 팀이 제공하는 인사이트

The Codest가 최첨단 기술로 확장 가능한 대화형 웹 애플리케이션을 제작하고 모든 플랫폼에서 원활한 사용자 경험을 제공하는 데 탁월한 성능을 발휘하는 방법을 알아보세요. Adobe의 전문성이 어떻게 디지털 혁신과 비즈니스를 촉진하는지 알아보세요...

최신
소프트웨어 개발

라트비아에 본사를 둔 10대 소프트웨어 개발 기업

최신 기사에서 라트비아 최고의 소프트웨어 개발 기업과 그들의 혁신적인 솔루션에 대해 알아보세요. 이러한 기술 리더들이 어떻게 귀사의 비즈니스를 향상시키는 데 도움을 줄 수 있는지 알아보세요.

thecodest
엔터프라이즈 및 스케일업 솔루션

Java 소프트웨어 개발 필수 사항: 성공적인 아웃소싱을 위한 가이드

The Codest로 효율성을 높이고 전문 지식을 활용하며 프로젝트 성공을 이끌 수 있는 성공적인 outsourcing Java 소프트웨어 개발에 대한 이 필수 가이드를 살펴보세요.

thecodest
소프트웨어 개발

폴란드 아웃소싱을 위한 최고의 가이드

폴란드에서 outsourcing가 급증한 것은 경제, 교육, 기술 발전으로 인한 IT 성장과 비즈니스 친화적인 환경이 조성된 덕분입니다.

더코데스트
엔터프라이즈 및 스케일업 솔루션

IT 감사 도구 및 기술에 대한 완벽한 가이드

IT 감사는 안전하고 효율적이며 규정을 준수하는 시스템을 보장합니다. 전체 기사를 읽고 그 중요성에 대해 자세히 알아보세요.

The Codest
야쿱 야쿠보비치 CTO & 공동 설립자

지식창고를 구독하고 IT 분야의 전문 지식을 최신 상태로 유지하세요.

    회사 소개

    The Codest - 폴란드에 기술 허브를 둔 국제 소프트웨어 개발 회사입니다.

    영국 - 본사

    • 사무실 303B, 182-184 하이 스트리트 노스 E6 2JA
      영국 런던

    폴란드 - 현지 기술 허브

    • 파브리츠나 오피스 파크, 알레야
      포코주 18, 31-564 크라쿠프
    • 뇌 대사관, 콘스트럭터스카
      11, 02-673 바르샤바, 폴란드

      The Codest

    • 홈
    • 회사 소개
    • 서비스
    • Case Studies
    • 방법 알아보기
    • 채용 정보
    • 사전

      서비스

    • IT 자문
    • 소프트웨어 개발
    • 백엔드 개발
    • 프론트엔드 개발
    • Staff Augmentation
    • 백엔드 개발자
    • 클라우드 엔지니어
    • 데이터 엔지니어
    • 기타
    • QA 엔지니어

      리소스

    • 외부 소프트웨어 개발 파트너와의 협력에 대한 사실과 오해
    • 미국에서 유럽으로: 미국 스타트업이 유럽으로 이전을 결정하는 이유
    • 테크 오프쇼어 개발 허브 비교: 테크 오프쇼어 유럽(폴란드), 아세안(필리핀), 유라시아(터키)
    • CTO와 CIO의 주요 과제는 무엇인가요?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • 웹사이트 이용 약관

    저작권 © 2025 by The Codest. 모든 권리 보유.

    ko_KRKorean
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese es_ESSpanish nl_NLDutch etEstonian elGreek ko_KRKorean