2013-07-26 56 views
0

我將r.js優化與CDN資產設置爲:在路徑配置中爲空。但是,當我點擊優化文件時,require不會獲取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加載的資源。否則,該模塊將包含在內,只是空的。

exclude: [ "jquery" ] 

在附註中,從CDN加載jQuery將比將其捆綁到您的構建文件中慢。在這種情況下,你不應該使用CDN。

+0

排除屬性進入grunt.js配置? –

+0

是的,瀏覽器在使用優化的main-build.js時,由於某些原因仍然沒有獲取jQuery。我已經將它包含在您提到的排除中。謝謝! –