2013-07-26 4 views
0

경로 구성에서 empty로 설정된 CDN 자산과 함께 r.js 최적화를 사용하고 있습니다. 그러나 최적화 된 파일을 누를 때 CDN 자산을 가져 오지 않아야합니다. 특히 jQuery에 대한 문의가 없습니다. 나는 또한 grunt requirejs 작업을 사용하고 있습니다. 여기 r.js 최적화가 경로를 보존하지 않습니다.

내 require.js의 설정입니다 :

require.config({ 
    paths: { 
    jquery    :'//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min' 
    } 
}); 

그리고 여기 grunt.js 설정입니다 :

requirejs: { 
     compile: { 
      options: { 
       baseUrl: "public/resources/javascripts/", 
       mainConfigFile: "public/resources/javascripts/main.js", 
       out: "public/resources/javascripts/main-build.js", 
       paths: { 
        'jquery': 'empty:' 
       }, 
       name: "main", 
       generateSourceMaps: true, 
       optimize: "uglify2", 
       preserveLicenseComments: false 
      } 
     } 
    } 

내가 같이 내장 된 자산을 치는 해요 :

<script data-main="/resources/javascripts/main-build.js" src="/resources/javascripts/libs/require.js"></script> 

답변

1

exclude 배열 안에 CDN에서로드 된 리소스도 추가해야합니다. 그렇지 않으면, 모듈이 포함되며 단순히 비어 있습니다. 는 CDN에서 jQuery를로드 보조 노트에

exclude: [ "jquery" ] 

, 당신의 사례 파일로 묶는 것보다 느립니다. 이 경우에는 CDN을 사용하지 않아야합니다.

+0

그리고 exclude 속성은 grunt.js 설정에 포함됩니까? –

+0

그래, 최적화 된 main-build.js를 사용할 때 브라우저가 어떤 이유로 jQuery를 가져 오지 않습니다. 내가 언급 한대로 제외에 포함 시켰습니다. 감사! –

관련 문제