2014-07-19 12 views
6

Şu ben böyle bakmak birkaç html dosyaları var:Js dosyalarında bulunan Grunt usemin işleme yolları?

<!-- build:js({.tmp,app}) scripts/moduleX-scripts.js --> 
    <script src="scripts/moduleX/moduleXConfig.js"></script> 
    <script src="scripts/moduleX/featureX/controller.js"></script> 
    <script src="scripts/moduleX/featureX/service.js"></script> 
    <script src="scripts/moduleX/featureY/controller.js"></script> 
    <script src="scripts/moduleX/featureY/service.js"></script> 
    <!-- endbuild --> 

<!-- build:js({.tmp,app}) scripts/moduleY-scripts.js --> 
    <script src="scripts/moduleY/moduleYConfig.js"></script> 
    <script src="scripts/moduleY/featureW/controller.js"></script> 
    <script src="scripts/moduleY/featureW/service.js"></script> 
    <script src="scripts/moduleY/featureZ/controller.js"></script> 
    <script src="scripts/moduleY/featureZ/service.js"></script> 
    <!-- endbuild --> 

bu bir açısal bir uygulama olduğundan, benim modülleri yönetmek için ocLazyLoad kullanmak istiyorum, yani benim yapılandırması aşağıdaki gibi görünecektir:

angular.module('MyMainModule', [ 
    { 
    name: 'moduleX', 
    files: [ 
     'scripts/moduleX/moduleXConfig.js', 
     'scripts/moduleX/featureX/controller.js', 
     'scripts/moduleX/featureX/service.js', 
     'scripts/moduleX/featureY/controller.js', 
     'scripts/moduleX/featureY/service.js', 
    ] 
    }, 
    { 
    name: 'moduleY', 
    files: [ 
     'scripts/moduleY/moduleYConfig.js', 
     'scripts/moduleY/featureW/controller.js', 
     'scripts/moduleY/featureW/service.js', 
     'scripts/moduleY/featureZ/controller.js', 
     'scripts/moduleY/featureZ/service.js', 
    ] 
    } 
    ]) 

Bu .js dosyasını işleyecek ve minik ve düzeltilmiş sürümle files dizesini değiştirecek herhangi bir grunt eklentisi var mı?

+1

Hey @gerasalus, bu kesin bir şey şaşırıp: Örneğin, scripts/moduleX dizin içinde, aşağıdaki dosyayı olurdu. Çözümü çözebilecek miydin? –

cevap

0

Dosyalarınızı küçültmek için grunt-contrib-uglifyjs kullanabilirsiniz. Yapmak gerekir

grunt.initConfig({ 
    uglify: { 
    moduleX: { 
     files: { 
     'scripts/moduleX.min.js': ['scripts/moduleX/*.js'] 
     } 
    }, 
    moduleY: { 
     files: { 
     'scripts/moduleY.min.js': ['scripts/moduleY/*.js'] 
     } 
    } 
    } 
}); 

tek değişiklik modül dizininde modül ilan eden bir dosya eklemek olacaktır.

// scripts/modeulX.js 
angular.module('moduleX', []);