다른 로컬 패키지에 종속되어있는 로컬 패키지는 어떻게 처리해야합니까? 단순화를 술에 대한 npm을 사용하여 nodejs의 로컬 패키지 종속성을 처리하는 방법
, 우리는 다음과 패키지가 있다고api
-people
명시 응용 프로그램 - 사람data-access
다루는 패키지 - 데이터 액세스를 다루는 패키지
그리고 종속성은
입니다.people
people
는data-access
는 현재 우리가 파일 종속 관계로 이러한 종속성 설정이에 따라 달라집니다에 5,
api
이 달려있다.e.e. 이것은 우리가 하나 개의 패키지로 업데이트하고 그것에 의존하는 다른 패키지에서 이러한 변경을 할 때 우리가 그것을 피타를 찾는하고 있다는 것입니다으로
api
package.json는"dependencies": { "people": "file:../people" }
문제가있는 것입니다.
이NPM을 설치 - 그러나 변경 사항이있는 경우이 이전에 설치 패키지를 덮어 쓰지 않습니다, 그래서 우리는 node_modules 디렉토리에서 이전을 삭제해야합니다 : 우리의 생각
옵션은 npm install ...을 다시 실행하면 패키지 의존성이 심하면 niggly가 될 수 있습니다.
NPM 링크 -이 버전 관리를 생존하지 않기 때문에 우리는 어쩌면 우리가
npm link
명령을 실행 할 지역의 빌드 스크립트의 몇 가지 종류가, 그냥 지금은 그것에 대해 생각 ... 아이디어를 판매하지 않는 우리를 위해 ... 이런 식으로 버전 제어에서 살아남을 수 있습니다. 그건 쓸데없는 일 이겠니?불평 - 우리는 아직이 분야에 너무 깊이 뛰어 들지 않았지만 좋은 방향으로 느껴집니다. 우리는 인터넷 검색의 조금이 건너 온 : https://github.com/ahutchings/grunt-install-dependencies
그래서, 어떤 옵션을 우리의 상황에 가장 적합한 것인가?
아직 생각하지 못했던 다른 옵션이 있습니까?ps. 우리는 노드에서 PoC를 수행하는 .NET 상점이므로 아무것도 모른다고 가정합니다!
Pps. 우리가 프로젝트를 잘못 설정했다는 것을 강력히 믿고 우리가 더 작은 개별 패키지를 가져서는 안되는 경우, 그 주제에 대한 약간의 독서에 대한 링크가있는 주석에 대해 알려주십시오.
아, 재미 있습니다 ... 그래서 당신은 그것을 별도의 패키지로 설정하는 것이 과잉이라고 말하고 있습니다. 폴더 구조를 유지하고 경로를 사용하도록 요구하십시오 ... 그것에 대해 생각하지 않았습니다. 건배. – Charlino
많은 경우 그렇습니다. 다른 앱에서 재사용 할 수있는 앱이라면 별도로 버전을 관리해야합니다. 예를 들어, 별도의 REST 및 SOAP API를 호스팅 할 계획이라면 사람 및 데이터 액세스 모듈을 진정으로 독립적으로 만드는 것이 더 합리적입니다. 노드에서 미래에이를 변경하는 것은 그리 어렵지 않으므로 너무 많이 땀을 흘리지 마십시오. – Paul