【发布时间】:2015-09-02 21:38:52
【问题描述】:
当这些文件被更改并被监视时,Grunt 不会 concat 和 uglify 我的 JavaScript 文件。
如果我运行grunt concat,js 文件将按预期连接。
如果我随后运行grunt uglify,文件将按预期进行丑化。
但是,当我简单地运行 grunt 时,监视任务开始并且我更改了一个 javascript 文件,我得到了这个:
$ grunt
Running "watch" task
Waiting...
>> File "src/js/test.js" changed.
Running "uglify:my_target" (uglify) task
>> Destination dest/js/app.min.js not written because src files were empty.
>> No files created.
为什么它在我运行单个命令时有效,但在监视文件更改时无效?
这是我的 grunt 文件:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
separator: ';',
},
dist: {
src: ['src/**/*.js'],
dest: 'dest/js/app.js',
},
},
uglify: {
my_target: {
files: {
'dest/js/app.min.js': ['<%= concat.dist.dest %>']
}
}
},
compass: { // Task
dist: { // Target
options: { // Target options
sassDir: 'scss',
cssDir: 'css',
environment: 'production'
}
},
dev: { // Another target
options: {
sassDir: 'scss',
cssDir: 'css'
}
}
},
watch: {
css: {
files: '**/*.scss',
tasks: ['compass']
},
js: {
files: 'src/js/*.js', tasks: [ 'uglify' ]
},
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('default',['watch', 'compass', 'concat', 'uglify']);
};
【问题讨论】:
标签: gruntjs grunt-contrib-uglify grunt-contrib-concat