2014-07-19 14 views
6

Hiện nay tôi có một vài file html mà trông như thế này:Đường dẫn xử lý Grunt usemin nằm trong tệp js?

<!-- 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 --> 

Vì đây là một ứng dụng góc, tôi muốn sử dụng ocLazyLoad để quản lý các module của tôi, vì vậy cấu hình của tôi sẽ giống như thế này:

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', 
    ] 
    } 
    ]) 

Có plugin grunt nào xử lý tệp .js này và thay thế mảng files bằng phiên bản rút gọn và sửa đổi không?

+1

Hey @gerasalus, tôi bị mắc kẹt về điều chính xác này. Bạn có thể tìm ra giải pháp không? –

Trả lời

0

Bạn có thể sử dụng grunt-contrib-uglifyjs để rút gọn tệp của mình.

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

Chỉ thay đổi bạn cần thực hiện để bao gồm tệp khai báo mô-đun của bạn trong thư mục mô-đun. Ví dụ: trong thư mục scripts/moduleX, bạn sẽ có tệp sau:

// scripts/modeulX.js 
angular.module('moduleX', []); 
Các vấn đề liên quan