Grunt-usemin:没有生成我的新index.html,但它是连接和缩小我的脚本

时间:2014-09-25 17:28:55

标签: angularjs gruntjs grunt-usemin

我需要你的帮助:)。

我正在尝试使用usemin来构建我的角度应用。 基本上我想生成一个新的index.html,它只能引用一个正确缩小的.js文件。

正在正确生成app.js文件,但我的新index.html不是。

我对grunt和usemin很新,但这是我的gruntfile:

grunt.initConfig({
    pkg: grunt.file.readJSON('bower.json'),

    useminPrepare: {
      html: 'public/index.html',
      options: {
        dest: 'dist'
      }    
    },

    concat: {
      generated: {
        files: [
          {
            dest: '.tmp/concat/js/app.js',
            src: ['public/**/*.js', '!public/bower_components/**']
          }
        ]
      }
    },

    uglify: {
      generated: {
        files: [
          {
            dest: 'dist/js/app.js',
            src: [ '.tmp/concat/js/app.js' ]
          }
        ]
      }
    }

  });

grunt.registerTask('build', [
'useminPrepare',
'concat:generated',
'uglify:generated',
'usemin'
]);

以下是我的index.html的相关部分:

<!-- build:js js/app.js -->
<script src="app.js"></script>
<script src="domain/domain.js"></script>
<script src="domain/landingPage/landingPageController.js"></script>
...
<!-- endbuild -->

我的文件夹结构是:

+- public
|   +- index.html
|   +- domain
|       +- js files       
+- gruntfile

感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

我从@KevinB那里拿了这个file并创建了一个更简单的,做了我想要的。 仍有一些粗糙的边缘,但它确实回答了这个问题。

    grunt.initConfig({
    pkg: grunt.file.readJSON('bower.json'),

    clean: [ 'dist' ],

    copy: {
      build: {
        files: [
          {
            expand: true,
            cwd: 'public/',
            src: [ '**', '!**/**/*.js' ],
            dest: 'dist'
          }          
        ]
      }
    },

    processhtml: {
        dist: {
          files: {
            'dist/index.html': ['dist/index.html']
          }
        }
    },

    concat: {
      generated: {
        files: [
          {
            dest: 'dist/js/app.js',
            src: ['public/**/*.js', '!public/bower_components/**']
          }
        ]
      }
    },
    
    uglify: {
      generated: {
        files: [
          {
            dest: 'dist/js/app.js',
            src: [ 'dist/js/app.js' ]
          }
        ]
      }
    }    

  });
  
  grunt.registerTask('build', [
    'clean',
    'copy',
    'processhtml',   
    'concat:generated',
    'uglify:generated'
  ]);

相关问题