我试着在我的项目中使用grunt usemin来缩小JS和CSS文件,但是效果不好。所以我创建了一个简单的例子,就像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/optimized.js。但是我得到了这个错误:
>> 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?
谢谢!
发布于 2015-07-21 22:45:25
嗯,问题出在grunt.registerTask('deploy', ['useminPrepare', 'uglify:generated']);。我忘了调用concat:generated。
因此,解决方案是:
grunt.registerTask('deploy', ['useminPrepare', 'concat:generated', 'uglify:generated']);https://stackoverflow.com/questions/31538162
复制相似问题