2017-12-07 2 views
0

Ant-script를 사용하여 jar-File (백엔드 포함) 내에 번들하려는 Angular-Application이 있습니다.
이 Ant 스크립트는 (npm을 사용하여) 종속성을 설치/업데이트 한 다음 Angular CLI을 사용하여 응용 프로그램을 빌드해야합니다.
여러 환경에서 여러 개발자가 사용하며 모든 개발자가 프런트 엔드를 처리하지 않아도되므로 요구 사항은 가능한 한 낮아야합니다.
모든 PC에 NodeJS 만 설치하면됩니다.
따라서 Ant 스크립트는 웹 페이지를 만들기 전에 모든 의존성이 설치되고 최신 상태인지 확인해야합니다.npm을 소스 컨트롤과 여러 개발자와 함께 사용하는 방법

  1. node_module의 폴더를 삭제하고 npm install를 사용하여 모든 모듈을 다시 설치
    지금 나는 그러나 내가 하나가 최고의 가장 안정적인 방법입니다 확실하지 오전,이 작업을 수행하는 여러 가지 방법으로 생각할 수 있습니다.
    이것은 아마 저장되지만 속도가 느리며 Angular-Applications에는 다운로드 할 수있는 수많은 종속성이 있습니다.
  2. node_modules을 먼저 삭제하지 않고 npm install을 사용하십시오.
    더 빠르지 만 일부 라이브러리 (예 : Angular CLI)는 업데이트시 새로 설치할 것을 제안합니다.
  3. npm update을 사용하십시오. 이렇게하면 종속성은 설치 될뿐만 아니라 최신 버전 (^ 또는 ~이 업데이트에 영향을 미칩니다)과 일치하도록 업데이트됩니다. 그렇지 않으면 존재 npm update하지 않습니다 - 폴더 node_modules 만약 내가 npm install를 사용하는 순간

.
가장 큰 문제는 npm updatepackage.lock.json으로 바뀔 수 있으며, 이는 버전이 지정되어 있습니다 (npm 문서에 의해 확인 됨). 그러면 병합 충돌이 발생합니다.

기본적으로 나는 필요한 모든 종속성 (NodeJS는 모든 개발자를위한 요구 사항 임)을 빌드 스크립트 내에서 설치하는 방법을 찾고 있습니다. 버전 지정 파일을 건드리지 않아도됩니다.

답변

0

옵션 # 1은가는 길입니다. 프로젝트에있는 모든 종속성이있는 package.json 파일 만 가져야합니다. 필요 없으며 실제로 node_modules를 포함시켜야합니다.

+0

그러나이 방법을 사용하면 마지막 설치 이후 변경되지 않은 모든 빌드가 모든 종속성을 설치해야합니다. 따라서 빌드 프로세스가 몇 분 늦어 질 것입니다. – Springrbua

+0

사실, 위의 3 가지 중에서 여전히 가장 가벼운 옵션입니다 ... –

+0

가장 가벼운 것을 어떻게 압니까? # 2 옵션은 아직 설치되지 않은 경우에만 종속성을 설치합니다 (마지막 빌드의 원인). 'node_modules'는 소스 컨트롤에 포함되지 않습니다. – Springrbua