我正在尝试设置一个 Gruntfile.js,它只对刚刚更改的文件进行 uglizes。我已经从给出的问题和答案中改编了其中的一些内容
如果已启用 Uglify 中的动态扩展,如何使用 Grunt.js 监视任务仅对更改的文件进行 uglify?
据我了解,应该在监视事件上触发一个事件,然后将 uglify 任务更改src
为当前文件路径。然而,GruntJS 仍然会丑化所有文件,而不仅仅是刚刚更改的文件。
我不确定我是否只是误解了 GruntJS 在这里的工作方式,但是谁能建议我哪里出错了?
var productionPath = "production", devPath = "dev";
module.exports = function(grunt) {
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
expand: true,
cwd: devPath + '/js/',
src: ['**/*.js'],
dest: productionPath + '/js/',
ext: '.min.js'
}
},
watch: {
options: { spawn: false },
scripts: {
files: [devPath + '/**/*.js'],
tasks: ['uglify']
}
}
});
grunt.registerTask('default', ['uglify', 'watch']);
grunt.event.on('watch', function(action, filepath, target) {
grunt.config('uglify.build.src', filepath);
});
};