0

Play Framework를 사용 중이고 다른 자바 스크립트 파일의 함수 내에서 javascript 파일을 정의하려고합니다. 이유는 이러한 함수를 사용 가능하게하고 싶지 않기 때문입니다 컨테이너 기능 외부).Play Framework - 함수 내에서 자바 스크립트 파일 정의하기

그래서 두 개의 javascript 파일, ./public/javascripts/main.js, ./public/javascript/custom.js가 있습니다. main.js에서 작동하지 않습니다 ".... @routes을"

<script src="@routes.Assets.at("javascripts/main.js")"></script> 

사용, 그래서 추가하는 시도 : 내 HTML 페이지 (index.scala.html) 나는대로이 정의에서

다음 다음 :

$.getScript("public/javascripts/custom.js", function(){ 
     alert("Script loaded and executed."); 
    }); 

나는 다양한 경로를 시도했지만 항상 찾을 수 없다고 말합니다.

Play에서 어떻게하는지 알려주세요. 내가 할 수있는만큼 많은 문서를 보았고 아무 것도 거기에 없다. ...

어떤 도움이라도 훌륭 할 것이다!

감사합니다.

친절 감사,

게리 Shergill

답변

1

시도 Javascript 라우팅 메커니즘을 사용합니다. 설명 here

로 .routes이

GET /routes controllers.Application.javascriptRoutes 

페이지로 포함 파일 javascriptRoutes

import play.api.mvc._ 
    object Application extends Controller { 

    def javascriptRoutes = Action { implicit request => 
     import routes.javascript._ 
     Ok(
     Routes.javascriptRouter("jsRoutes")(
      javascript.Assets.at  
     ) 
    ).as("text/javascript") 
    } 
    } 

업데이트를 정의

<script type="text/javascript" src="@routes.Application.javascriptRoutes"></script> 

그리고 다음 자바 스크립트 jsRoutes 변수를 사용 :

$.getScript(jsRoutes.controllers.Assets.at('javascripts/custom.js').url, function(){ 
    alert("Script loaded and executed."); 
}); 
+0

이에 관한 문서를 완전히 이해하지 못했습니다. def javascriptRoutes를 Application.java에 추가해야하지만이 경우 경로 파일에 무엇을 추가해야합니까? 아니면 틀린가? – Gary

+0

@gary 답변을 업데이트했습니다. 아마도 도움이됩니다. –

+0

삭제 해 주셔서 감사합니다. =) 너무 훌륭하게 작동합니다. – Gary

4

당신이 당신의 루트 파일에 다음 선언이 있는지 확인 : 다음과 같은 일을해야 그 다음

# Map static resources from the /public folder to the /assets URL path 
GET  /assets/*file    controllers.Assets.at(path="/public", file) 

:

$.getScript("/assets/javascripts/custom.js", function(){ 
    alert("Script loaded and executed."); 
}); 
+0

이 반환 다음 GET에 http : // localhost를 : 9000/자산/자바 스크립트/custom.js _ = 1390575856602 \t (404) 파일 당신의 JS를 포함 디렉토리 – Gary

+0

를 찾을 수 없음? 'javascript' 또는'javascripts'? 404 경로를 반환하는'javascript' (단수) 찾고 있습니다. 그게 맞습니까? – mantithetical

+0

좋은 점 ... 나는 그것을 입력 할 때 "s"를 빠뜨린 것 같습니다. 감사! – Gary

관련 문제