如何使用ngmin对angularjs文件进行注释,并使用min生成dist文件



我使用的是一个运行AngularJS应用程序的yeoman web应用程序模板。usemin很棒,但AngularJS文件必须使用ngmin进行预处理才能进行注释,然后才能使用usemin进行丑化和缩小。

我可以使用ngmin生成一个带有注释的AngularJS控制器、指令、服务等的级联文件。

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

基本上,我运行的构建成功地创建了annotated.js

我想要的是在index.html中声明annotated.js文件,以通知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'
]);  

我怎样才能做到这一点?

那么,您使用yo webapp生成了一个应用程序,然后将Angular插入其中?对于你未来创建的Angular应用程序(或者如果现在还不算太晚的话),有一个生成器!https://github.com/yeoman/generator-angular

这里有一个链接和一些代码,显示了如何使用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'
    }]
  }
}

插入,根据需要进行调整,并让我知道它是否有效!

相关内容

  • 没有找到相关文章

最新更新