티스토리 뷰
프로젝트 규모가 커질수록 외부에서 갖다쓰는 라이브러리도 많아지기 마련이다.
자바는 메이븐이라는 오픈소스 프로젝트를 이용해 진작에 이런 라이브러리 관리를 하고있었다.
xml파일에 라이브러리명과 버전만 적어주면 해당 라이브러리를 자동으로 다운받아 참조를 해주는 형식이다.
프론트쪽은 보통 참조하고자하는 js파일을 다운받아 참조하여 개발을 했는데 nodejs를 필두로 각종 프레임워크들과 라이브러리들이 나오고 또 그것들을 적극 활용하게 됨으로서 프론트쪽도 의존성관리에 애를 먹기 시작했다.
이를위해 자바의 메이븐같은 의존성을 관리해주는 툴이 나왔는데 그것이 bower다.
일단 bower는 nodejs를 이용해 개발됐기때문에 nodejs가 설치되어있어야한다.
그리고 npm(node package management)을 이용해 설치하면된다.
npm install -g bower
커맨드를 이용해 설치하면 된다. -g 옵션은 글로벌로 설치해 어디서든 bower 커맨드를 사용할수 있게하는 옵션이다.
설치가 완료되면 bower 라고 입력해 정상적으로 출력되는지 확인하자. 옵션설명같은것들이 나온다.
bower가 정상적으로 설치됐음을 확인했으면 js파일을 다운받고자하는 원하는 디렉토리에 가서 설치하면된다.
jquery 를 사용한다면
bower install jquery
라고 입력하면 해당 디렉토리에 기본 폴더구조와 함께 jquery가 다운받아지는걸 확인할 수 있다.
bower_components 라는 명칭 아래에 생성되는 폴더구조가 마음에 안들수도있지만 bower를 이용해 의존성을 관리하려면 적응하는 수밖에 없는듯 하다.
이외에도 원하는 라이브러리 다운이 가능하다.
bower search jquery
로 원하는 라이브러리가 존재하는지 검색할 수 있고
bower info jquery
로 해당 라이브러리의 정보를 확인할 수도있다.
그냥 경로를 지워도 되지만 라이브러리를 삭제할땐 uninstall 커맨드를 입력하면 된다.
bower uninstall jquery
메이븐의 pom.xml처럼 bower도 라이브러리를 관리하는 파일이 존재하는데 그것이 bower.json이다.
해당 디렉토리에서 bower init 명령어를 입력해보자.
bower.json 이 생성되는걸 확인할 수 있다.
지금까지는 bower install jquery 처럼 내가 사용하고자 하는 라이브러리의 명칭을 넣어줬는데 bower.json이 dependencies 필드 안에 내가 원하는 라이브러리의 명칭과 버전 정보를 입력하고 bower install 명령어만 입력하면 입력한 모든 라이브러리를 다운받는다.
이미 라이브러리가 다운받아져 있는 상태에서 bower init을 하게되면 dependencies에 현재 다운받은 의존성들은 자동으로 입력된다.
이후에도 버전이 변경된다거나 하는 의존성 수정이 생기게되면 bower.json을 수정후 bower install 명령어만 치면 되니 익숙치 않은 디렉토리에 대한 적응정도는 할만한 가치가 있지 않나 생각된다.
'Java Script & HTML' 카테고리의 다른 글
AngularJS Filter 만들기 (0) | 2017.02.03 |
---|---|
put, delete 메서드로 submit 하기 (0) | 2016.12.04 |
#11. JavaScript의 리플렉션(reflection) (0) | 2015.11.26 |
배열을 문자열로 변환, 다시 배열로 변환 (0) | 2015.11.04 |
#10. JavaScript의 프로토타입 - 02 (0) | 2015.11.01 |
- Total
- Today
- Yesterday
- Git
- frontcode
- programming
- mariadb
- 정규표현식
- frontend개발환경
- generics
- Jackson
- java
- MySQL
- backend개발환경
- clean code
- db
- Design Pattern
- spring cloud
- servlet
- javascript
- JPA
- toby
- JavaScript Core
- http
- code
- TEST
- Spring
- DesignPattern
- Kotlin
- java8
- go-core
- OOP
- EffectiveJava
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |