>

최근에 작은 의존성을 추가 한 프로젝트를 도와주었습니다. 실제로 정규 표현식 만 포함했습니다 ( https://www.npmjs.com/package/is-unc-path ).

프로젝트 개발자로부터받은 피드백은 타사 구현이 쉽게 구현 될 수 있다면 타사 종속성을 최소화하려고한다는 것입니다. 즉, 올바르게 이해하면 다른 코드를 추가하는 대신 코드를 복사하도록 요청합니다 의존성.

저에게 새로운 의존성을 추가하는 것은 repo의 여분의 파일에 몇 줄의 코드를 넣는 것과 같습니다. 또한 코드를 변경해야하는 경우 개발자에게 업데이트 정보가 제공됩니다.

개발자가 이런 일을하게하는 것은 종교적인 생각 일까? 종속성을 추가 할 때 비용 (성능 또는 공간 등)이 있습니까?

  • 답변 # 1

    저도 제 3 자 라이브러리에 관해 관리자와 분쟁을 겪었습니다. 문제는 그가 당신이 node_modules 를 버전 화해야한다고 믿는 데 더 커졌습니다.  폴더.

    와이즈 비즈

    그의 주장은 다음과 같습니다.

    npm install과 같은 다른 작업을 수행 할 필요가없는 작동중인 제품을 고객에게 제공해야합니다

    The source of any conflict usually is the ignorance.

    인 경우 github   npm 를 실행하는 순간  서버에서 무엇을 하시겠습니까?

    설치 한 라이브러리에 책임이있는 버그가있는 경우

    내 주장은 :

    버전 npm install  패키지 종속성이 작동하는 방식으로 인해 작동하지 않습니다. 각 라이브러리는 자체 node_modules 를 다운로드합니다.  종속성과 git 저장소는 수백 mb로 빠르게 커질 것입니다. 배포는 점점 더 느려질 것입니다. 매 0.5GB의 코드가 시간이 걸릴 때마다 다운로드됩니다. NPM은 모듈 캐싱 메커니즘을 사용합니다. 변경 사항이 없으면 코드를 쓸모없이 다운로드하지 않습니다.

    node_modules 의 문제  고통 스러웠지만 그 left-pad 후에  잠금 시스템을 구현했으며 이제 각 패키지에 대해 특정 커밋 해시에 고정하면됩니다.

    Github과 npm에는 단일 인스턴스 서비스가 없으며 클라우드에서 실행됩니다.

    종속성을 설치할 때 항상 몇 가지 아이디어가 있으며 커뮤니티 모범 사례가 있으며 일반적으로 다음과 같이 재개됩니다.1. 저장소에 단위 테스트가 있습니까.2. 다운로드 번호3. 최신 업데이트는 언제.

    Node.js 에코 시스템은 모듈화를 기반으로하며, 노드가 운이 좋은 인기 원인이 아니라 모듈을 생성하고 재사용하도록 설계된 방식의 원인입니다. 때때로 node.js 환경에서 일하는 것은 레고 조각을 모으고 장난감을 만드는 것처럼 느껴집니다. 이것이 node.js에서 초고속 개발의 주요 원인입니다. 사람들은 단지 물건을 재사용합니다.

    마침내 그는 자신의 아이디어를 유지했고 나는 프로젝트를 떠났다 : D.

    npm

관련 자료

  • 이전 shell - bash를 사용하여 비 특정 타임 스탬프가있는 타임 프레임 간 로그 추출
  • 다음 database - $in을 사용하여 목록과 일치하는 모든 문서를 반환