2012-05-09 4 views
4

synfony2 프로젝트에서 require.js를 사용하려고합니다. 여기Assays for requireJs 사용 방법

주요 나뭇 가지 파일의 코드 :

<script 
     data-main="{{ asset('bundles/web/js/main.js') }}" 
     src="{{ asset('vendor/js/require.js') }}"> 
</script> 

파일 vendor/js/require.js이 제대로로드되지만 파일 bundles/web/js/main.js 내가 메시지 수 :

Uncaught Error: Load timeout for modules: mainApp.js?201205021855 http://requirejs.org/docs/errors.html#timeout

내가 RequireJS 1.0.8을 사용하고를 . 문제를 해결하는 방법을 알려주세요. 감사.

<script 
     data-main="/~myName/myProject/web/bundles/web/js/main.js?101205021855"  
     src="/~myName/myProject/web/vendor/js/require.js?101205021855"> 
</script> 

그래서 경로가 권리가 있지만 다음과 같은 메시지가 얻을 자바 스크립트 콘솔, :

GET http://localhost/~myName/myProject/web/app_dev.php/main.js?201205021855 404 (Not Found)

답변

1
  1. 을 나는 소스 페이지에 보면 같은


    가 보인다

    저작물의 '.js'파일 확장명을 삭제하십시오. 이어야합니다. data-main = "{{asset ('bundles/web/js/main')}}"

  2. 파일의 경로가 올바른지 확인하십시오.

  3. 응답을 @dgabriel에 추가 main.js

+0

감사합니다. @dgabriel 및 m2mdas, 더 자세한 내용을 추가하여 질문을 편집했습니다. – underscore666

2

에는 자바 스크립트 오류가 있는지 없는지 확인하십시오. 당신은 그것의 결과로 오는 것처럼 404 보이는

<script 
     data-main="{{ asset('bundles/web/js/main.js') | slice(0, -3) }}" 
     src="{{ asset('vendor/js/require.js') }}"> 
</script> 
+0

감사합니다. @ m2mdas, 제 질문을 편집하여 세부 사항을 추가했습니다. – underscore666

+0

흠, assetic에 대해 'asset_version' 옵션을 활성화했습니다. 웹 디렉토리의'.htaccess'가이 경로를 파일 경로가 아닌 경로로 취급하기 때문에 Well 404가 발생합니다. –

+0

또한 정규식 바꾸기 필터는 나뭇 가지에서 사용할 수 없습니다. 그렇게하려면 나뭇 가지 확장을 만들어야합니다. –

0

그건, 슬라이스 필터를 사용하여 할 수있는 '주'응용 프로그램에서 다른 곳에서 요구되는 - 그것은 당신의 데이터를 메인에 경로를 일치하지 않습니다. 이 경우, baseUrl 또는 paths config (모듈이있는 RequireJS에 다른 방법으로 알려주는)와 관련된 문제 일 가능성이 큽니다. 귀하의 예제에서 baseUrl은 '/ ~ myName/myProject/web/bundles/web/js'여야합니다.

https://github.com/hearsayit/HearsayRequireJSBundle을 사용해 볼 수도 있습니다. 자동으로 이러한 구성 정보를 처리하고 Assetic과 잘 통합됩니다.