这是我的grunt配置文件:
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-karma');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.initConfig({
uglify: {
build: {
src: 'app/concat.js',
dest: 'app/concat.min.js'
}
},
concat: {
options: {
separator: ';',
},
dist: {
src: ['app/js/**/*.js', '!app/concat.js',
dest: 'app/concat.js'
}
},
watch: {
karma: {
files: ['app/js/**/*.js', 'jasmine/spec/**/*.js'],
tasks: ['karma:unit:run']
},
concat: {
files: ['app/js/**/*.js', '!app/concat.js'],
tasks: ['concat']
},
live: {
files: ['app/js/**/*.js', '!app/concat.js', 'app/partials/**/*.html', 'WEB-INF/jsp/panther.html', 'css/new_style.css', 'css/style.css'],
options: {
livereload: true
}
}
},
karma: {
unit: {
configFile: 'jasmine/karma.conf.js',
background: true
}
},
sass: {
dist: {
files: {
'css/new_style.css': 'css/sass/new_style.scss'
}
}
}
});
grunt.registerTask('default', ['karma:unit:start', 'concat', 'watch']);
}
我做手表并且在代码更改时触发单元测试和连接,
我的感觉是这一行:
src: ['app/js/**/*.js', '!app/concat.js',
无法正常工作(至少对于第二部分)
答案 0 :(得分:2)
看起来您正在构建与源相同的目录/文件。我认为这是一个坏主意。
您应该将您正在处理的文件保存在一个目录中(例如src
)并将Grunt任务输出到另一个目录(例如app
)。这至少可以降低重复的风险。
如果您有一个任务需要处理另一个任务的输出,请将第一个任务输出到一个临时目录,然后从中读取第二个任务。