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']);