2013-08-22 54 views
2

我正在使用運行AngularJS應用程序的yeoman Web應用程序模板。 usemin很棒,但AngularJS文件必須在ngmin的前提下進行預處理,然後才能通過usemin進行簡化和縮小。如何使用well ng註釋angularjs文件和usemin生成dist文件

我可以使用ngmin生成註釋的AngularJS控制器,指令,服務等的單個連接文件。

ngmin: { 
    build: { 
     src: ['<%= yeoman.app %>/js/one.js','<%= yeoman.app %>/js/two.js'], 
     dest: '<%= yeoman.dist %>/ng/annotated.js' 
    } 
} 

基本上我運行一個成功創建的構建annotated.js

我要的是聲明annotated.js文件中index.html通知usemin使用該文件僅適用於分佈,不是那些我提到的發展

<!-- build:js js/app.min.js --> //annotated.js only must be processed instead of those 2 files. 
    <script src="js/one.js" type="text/javascript"></script> 
    <script src="js/two.js" type="text/javascript"></script> 
    <!-- endbuild --> 

僅供參考,我usemin配置:

useminPrepare: { 
     options: { 
      dest: '<%= yeoman.dist %>' 
     }, 
     html: '<%= yeoman.app %>/index.html' 
    }, 
    usemin: { 
     options: { 
      dirs: ['<%= yeoman.dist %>'] 
     }, 
     html: ['<%= yeoman.dist %>/{,*/}*.html'], 
     css: ['<%= yeoman.dist %>/css/{,*/}*.css'] 
    } 

僅供參考,我的體型任務:

grunt.registerTask('build', [ 
    'clean:dist', 
    'useminPrepare', 
    'concat', 
    'cssmin', 
    'ngmin', 
    'uglify', 
    'copy:dist', 
    'rev', 
    'usemin' 
]); 

我怎樣才能實現呢?

回答

3

因此,您使用yo webapp來生成一個應用程序,然後您將Angular插入到?對於您創建的未來Angular應用程序(或者對於此應用程序來說不算太晚),還有一個發生器! https://github.com/yeoman/generator-angular

這裏是一個鏈接,一些代碼,顯示了ngmin任務是如何預配置的角度發電機:

https://github.com/yeoman/generator-angular/blob/v0.4.0/templates/common/Gruntfile.js#L326-335

ngmin: { 
    dist: { 
    files: [{ 
     expand: true, 
     cwd: '<%= yeoman.dist %>/scripts', 
     src: '*.js', 
     dest: '<%= yeoman.dist %>/scripts' 
    }] 
    } 
} 

插件在,調整的必要,讓我知道它是否有效!

+0

由於某些原因,由usemin處理的註釋文件很糟糕(它會引發異常)。 Ngmin生成一個「沒問題」的單個文件。因此我使用該文件而不是失敗的文件(因爲我失去了足夠的時間)。還是要謝謝你的幫助 :) – roland

相關問題