grunt-usemin src文件是空的

我正在尝试在我的项目中使用grunt-usemin来缩小JS和CSS文件,但是效果不好。 所以我创build了一个简单的例子,如grunt-usemin文档,这也不起作用。

我有简单的结构:

. ├── Gruntfile.js ├── dist │ └── js ├── index.html ├── js │ ├── bar.js │ └── foo.js └── package.json 

在index.html中,我有下面的块参考2个JS文件:

 <!-- build:js js/optimized.js --> <script src="/js/foo.js"></script> <script src="/js/bar.js"></script> <!-- endbuild --> 

我的Gruntfile.js:

 module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), useminPrepare: { html: 'index.html', options: { dest: 'dist' } }, usemin: { html: ['index.html'] }, filerev: { options: { algorithm: 'md5', length: 8 }, js: { src: 'js/optimized.js', dest: 'js/' } } }); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-filerev'); grunt.loadNpmTasks('grunt-usemin'); // Register tasks grunt.registerTask('deploy', ['useminPrepare', 'uglify:generated']); // grunt.registerTask('deploy', ['useminPrepare', 'uglify:generated', 'usemin']); }; 

当我运行grunt deploy -v我期望,js / optimize.js将被创build。 但是我得到这个错误:

 >> Destination dist/js/optimized.js not written because src files were empty. >> No files created. 

useminPrepare生成的任务如下所示:

 Going through index.html to update the config Looking for build script HTML comment blocks Configuration is now: concat: { generated: { files: [ { dest: '.tmp/concat/js/optimized.js', src: [ 'js/foo.js', 'js/bar.js' ] } ] } } uglify: { generated: { files: [ { dest: 'dist/js/optimized.js', src: [ '.tmp/concat/js/optimized.js' ] } ] } } 

有人可以帮助我,为什么dist / js / optimized.js没有创build?

谢谢!

嗯问题是在grunt.registerTask('deploy', ['useminPrepare', 'uglify:generated']); 。 我忘了调用concat:生成。

所以解决办法是:

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