2016-10-21 2 views
1

내 설정은 Scala Play 2.5가 설치된 org.webjars.webjars-play.2.5.0입니다. 다른 용도로 두 개의 WebJars 라이브러리를 사용했고 두 개의 디렉토리에있는 jquery.min.js 파일 (target/web/web-modules/main/webjars/lib/jquerytarget/web/web-modules/main/webjars/lib/jquery/dist)로 끝납니다.WebJarAssets에서 jQuery.min.js를 찾을 수 없습니다.

인덱스 웹 페이지에 액세스했을 때 파일이 target/web/web-modules/main/webjars/lib/jquery/jquery.min.js인데도 이 예외로 throw되었습니다 (예외 번호 [IllegalArgumentException: jquery/jquery.min.js could not be found). 나는 다른 경로 lib/jquery/jquery.min.js을 시도했지만 스크립트를 찾지 못했습니다. 그러나 dist/jquery.min.js을 사용하면 스크립트를 찾을 수 있지만 원하는 버전입니다.

WebJarAssests가 jquery.min.js을 찾을 수 있도록 구성하려면 어떻게합니까? target/web/web-modules/main/webjars/lib/jquery? 다른 WebJars가 다른 버전의 jquery.min.js을 내 프로젝트에로드하는 것을 어떻게 중지합니까? 감사합니다.

한편, 나는 물건을 가지려면 <script type="text/javascript" src="@routes.Assets.at("lib/jquery/jquery.min.js")"></script>을 사용하고 있습니다.

업데이트 1

현재 설정,

class ApplicationController @Inject() (
    val webJarAssets: WebJarAssets, 
    val silhouette: Silhouette[CookieAuthenticatorEnv], 
    ... 
) extends AuthController {...} 

@(webJarAssets: WebJarAssets, ...)(implicit messages: Messages) 

GET   /webjars/*file   controllers.WebJarAssets.at(file) 
+0

. 컨트롤러는'class MyController @Inject() (implicit webJarAssets : WebJarAssets, ...')와 같은 뷰 서명과'@ (...) (content : Html) (암시 적 webJarAssets : WebJarAssets)'와 같은 형태로 보입니다. 경로는'GET/webjars/* file controllers.WebJarAssets.at (file)'? – wwkudu

+0

처럼'webJarAssets'는 암시 적이 지 않습니다. Guice를 통해 WebJarAssests를 주입했고 jQuery.ja를 제외한 다른 JS 라이브러리에서 작동했습니다. 문제가 있습니까? – thlim

+0

jquery가 다를 수 없습니다. 사용자의보기 서명, 스크립트 jquery 참조, 컨트롤러 서명, 경로 및 관련 줄을 build.sbt에서 게시 할 가치가 있습니다. 사람들이 쉽게 할 수 있도록 할 수 있습니다. – wwkudu

답변

0

당신은 고정 자산 물건 + SBT-웹이 target/web/web-modules/main/webjars/lib 파일을 사용하거나 당신이 WebJarAssets 일을 사용할 수있는 일반 재생을 사용할 수 있습니다. the docs에서 자세한 내용.

하는 대신, WebJarAssets를 사용하려면 :
webJarAssets.locate("jquery.min.js")

시도 : 나는 정확히 (초기) 코드를 사용
webJarAssets.locate("jquery", "jquery.min.js")