2017-01-08 4 views
0

나는 자바 스크립트 파일을 관리하기 위해 asset-pipeline 플러그인을 사용해야하므로 grails 2에서 grails 3로 마이그레이션하려고한다. 문제는 내가 두 개의 외부 라이브러리를 사용한다는 것입니다. globalize, ajax-solr. 그들은 매우 크고 서로에 의존하는 여러 파일을 가지고 있습니다. 또한 jquery와 많은 네임 스페이스에 많은 의존성이 있습니다. 그래서, 내가 단순히 그들을 asset/javascript으로 복사 할 때 콘솔에 많은 예외가 발생합니다.grails asset-pipeline 및 외부 JS 라이브러리

Uncaught ReferenceError: AjaxSolr is not defined 
Uncaught ReferenceError: jQuery is not defined 
ParameterHashStore.js:13 Uncaught TypeError: Cannot read property 'extend' of undefined 

첫 번째 질문은 해당 자료집을 어디에 두어야합니까? 하위 폴더에 asset/javascript에 있습니까? 또는 asset/lib의 설명서에 나와있는 것처럼? (이 조직에 추가되는 공통 폴더는 "lib"폴더입니다.이 폴더는 jQuery 또는 부트 스트랩과 같은 타사 라이브러리 구성에 유용 할 수 있습니다. - http://www.asset-pipeline.com/manual/). 그렇다면 애셋 플러그인이 강제로 여기에서 가져 오게하는 방법은 무엇입니까?

두 번째로 종속성 문제를 해결하는 방법은 무엇입니까? //= require 지시어로 globalize 및 ajax-solr 파일을 수정해야합니까?

답변

0

나는 그걸 만들 수있었습니다. 나는 lib 폴더 (grails-app/assets/lib/globalize/)에서의 세계화를 배치하고 모든 수입을 가진 파일 globalize-manifest.js 생성 : 나는 그것을 사용하여 가져 세계화 사용해야하는 경우에 다음

//= require globalize/lib/globalize 
//= require globalize/lib/cultures/globalize.culture.pl-PL.js 
... 

// require globalize-manifest