왜 Bower를 사용해야합니까? [닫은]


32

Python pip, Node npm또는 Ruby Gems 와 같은 패키지 관리자의 이점은 응용 프로그램 경로에 파일을 추가하는 것보다 훨씬 많은 일을 수행하고 있기 때문에 충분히 감사하겠습니다 .

어쩌면 나는이 점을 누락, 또는 여기 둔한하지만거야하면된다 네거티브 내가 볼 수는 :

  • 프로젝트를 만들 때 별도의 단계
  • 다른 패키지 관리자를 통해 설치할 별도의 종속성 (yo dawg)
  • 프로젝트에서 더 많은 혼란 bower.json과 / 또는.bowerrc
  • 최신의 정확하고 사용 가능한 레지스트리에 의존
  • 이미지와 같은 것들에 대한 일부 가져 오기 / 참조가 작동하지 않습니다
  • npm과 겹치며, 언제 어떤 리소스를 사용할지 불분명 한 경우

내가 볼 수 있는 긍정적 인 것은 다음과 같습니다.

  • 종속성을 수동으로 다운로드 할 필요가 없습니다.
  • 사용자 프롬프트 등을 기반으로 스캐 폴딩의 일부로 패키지를 선택적으로 설치

나는 내가 알지 못하는 어떤 혜택을 알고 싶고, 내가 진정으로 알고 싶어하는 도발적이지 않다고 말해야합니다.



궁극적으로 언급 한 모든 패키지 관리자는 종속성 다운로드와 관련이 있으며 Bower에 대해 나열된 것과 동일한 "음수"를 공유합니다. 마찬가지로 Bower는 npm, pip 및 rubygems의 이점 중 일부를 공유합니다. 예를 들어 Bower를 사용하면 종속성을 최신 버전 (이것은 큰 버전)으로 쉽게 업데이트 할 수 있으며 git repo의 혼란을 크게 줄입니다. 의존성 코드를 체크인 할 필요가 없습니다.
sffc

6
이 질문이 "주로 의견에 기반한"것으로 폐쇄 된 것은 부끄러운 일입니다. OP는 전문가 의견을 요구하고 있습니다. "개발 프로세스에서이 점이 어떻게 도움이됩니까?"
Dave Kanter

트렌드를 사용하는 것은 bower를 사용해서는 안되며, npm을 Browserify와 결합하여 사용하는 것보다 툴링이나 이점이 없습니다. : 산업이 말씀 및 모듈 카운트 수는 정자에 대한 감소와 NPM과 Browserify가 표준이되고있는 것 같습니다 quora.com/Why-use-Bower-when-there-is-npm
브라이언 오그 덴

답변:


12

로부터 README :

Bower는 웹용 패키지 관리자입니다. 이 패키지는 프런트 엔드 패키지 관리 문제에 대한 포괄적 인 비 피니언 솔루션을 제공하는 한편,보다 의견이 많은 빌드 스택에서 사용할 수있는 API를 통해 패키지 종속성 모델을 노출합니다. 시스템 전체 종속성이 없으며 다른 앱간에 종속성이 공유되지 않으며 종속성 트리가 단순합니다.

Bower는 Git을 실행하며 패키지에 구애받지 않습니다. 패키지 구성 요소는 모든 유형의 자산으로 구성 될 수 있으며 모든 유형의 전송 (예 : AMD, CommonJS 등)을 사용할 수 있습니다.

Bower는 다른 종속성 관리자의 많은 이점을 가지고 있습니다. 나는 다른 사람들이 있다고 확신하지만 지금까지 내가 발견 한 이점은 다음과 같습니다.

  • 선언적 종속성 관리라고하는 것을 단순화하십시오. 즉, 다른 것들이 쉽게 결정할 수 있도록 bower.json에 종속성을 선언하십시오.
  • 버전 제어에 대한 종속성을 커밋 할 필요가 없습니다.
  • 시맨틱 버전 관리는 종속성에 대해 허용 가능한 버전 범위를 정의하는 데 사용되므로 정의 된 범위 내의 최신 버전으로 쉽게 업데이트 할 수 있습니다.
  • 다양한 빌드 (디버그, 축소 등)를 찾을 필요가 없습니다.
  • dev와 prod에 대해 서로 다른 종속성 빌드를 사용하는 간단한
  • bower.json 파일을 배포 할 수 있으며 누구나 간단한 "bower install"로 속도를 높일 수 있습니다

2
확실히 내가 덜 도발적인 방식으로 질문을 썼 으면 좋겠다. 실제로 필자가 놓친 중요한 이점은 API를 빌드 / 스캐 폴딩 프로세스의 일부로 사용하는 것입니다. 야생 어딘가에서 그것을 사용하고 싶습니다.
Wil

Yeoman 용 Angular 생성기를 사용하여 Angular 웹앱을 부트 스트랩 할 때 Bower를 알게되었습니다. 그것을 시도하면 그것이 어떻게 사용될 수 있는지에 대한 아이디어를 줄 수 있습니다.
Mike Partridge

나는 그 전에 Yeoman과 Grunt Init을 사용해 왔으며 아마도 내 요구가 항상 프론트 엔드 구성 요소가 절대로 벗어나지 않는다는 것을 의미했을 것입니다. 부트 스트랩 프롬프트 선택 목록에서 테스트 프레임 워크를 바꾸면 유용합니다. 나는 의미있는 주요 이점은 부트 스트랩 옵션과 수정 자라고 생각합니다. 공평하다고 생각하십니까?
Wil

2
또한 이식성. bower.json 파일을 배포 할 수 있으며 간단한 "bower install"로 모든 사람이 속도를 낼 수 있습니다.
Dave Kanter

1
s/bower/npm/i이 답변은 여전히 ​​100 % 사실입니다.
Qix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.