보통 메이븐을 통해서 자바 라이브러리(jar)들간의 의존 관계를 해결한다.
하지만 자바스크립트 라이브러리는 이런게 없다. 어디선가 js 파일 받아서 웹 소스에다가 놓고 써야한다.
예를 들어 "jQuery UI"를 써야 하면 jquery.ui.js 파일 받고 "jQuery UI"가 필요로 하는 jquery.js 를 구해서 넣어야한다.
<script type="text/javascript" src="js/static/jquery-1.11.0.min.js" ></script>
<script type="text/javascript" src="js/static/jquery-ui.min.js" ></script>
근데! 누군가가 메이븐으로 자바스크립트 라이브러리의 의존 관계를 관리할 수 있도록 했다.
이 기발한 원리는 이러하다. ㅋㅋ
1. /META-INF/ 안에 js 파일들을 넣은 jar 파일을 만들어서 메이븐으로 쓸 수 있도록 한다.
2. 프레임워크마다의 방법으로 classpath 안의 js 파일들을 웹상에서 쓸 수 있도록 한다.
pom.xml 에 아래와 같이 jquery-ui 를 추가하면
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery-ui</artifactId>
<version>1.10.3</version>
</dependency>
아래와 같이 jquery 까지 다운로드 받게 된다.
실제 jar 내용을 보면 아래와 같이 js 와 관련된 파일들이 들어있다. (requireJS도? 들어있네 ㄷㄷ)
Spring 3의 mvc 네임스페이스를 이용하면 쉽게 설정 가능하다. (다른 방법은 http://www.webjars.org/documentation 참조)
<mvc:resources mapping="/js/static/**" location="classpath:/META-INF/resources/webjars/" />
html 에서는 리소스의 경로에 맞게 해주면 되겠다.
<script type="text/javascript" src="js/static/jquery/1.9.1/jquery.min.js" ></script>
<script type="text/javascript" src="js/static/jquery-ui/1.10.3/ui/minified/jquery-ui.min.js" ></script>
↑ 소스 포함 war
↑ 이클립스 메이븐 프로젝트
'JavaScript' 카테고리의 다른 글
url 파라미터 알아내기 (5) | 2010.01.15 |
---|