动态更改任务uglify的配置

Fab*_*Fab 8 gruntjs

我需要根据需要更改我的uglify任务的配置以仅缩小文件(如jshint任务所述:https://github.com/gruntjs/grunt-contrib-watch#compiling-files-as-needed)

修改适用于jshint任务但不适用于uglify,我认为问题是属性路径...

任何帮助,将不胜感激 ;)

这是我的Gruntfile.js:

module.exports = function (grunt) {
    grunt.initConfig({

        // define source files and their destinations
        jshint: {
            all: ['dev/**/*.js'],
        },
        uglify: {
            dynamic_mappings: {
              // Grunt will search for "**/*.js" under "dev/" when the "minify" task
              // runs and build the appropriate src-dest file mappings then, so you
              // don't need to update the Gruntfile when files are added or removed.
            files: [{
                  expand: true,     // Enable dynamic expansion.
                  cwd: 'dev/',      // Src matches are relative to this path.
                  src: ['**/*.js'], // Actual pattern(s) to match.
                  dest: 'build',   // Destination path prefix.
                  ext: '.min.js',   // Dest filepaths will have this extension.
                },
              ],
            }
        }
        watch: {
        options: { spawn: false },
            js:  { files: 'dev/**/*.js', tasks: [ 'uglify' ] },
        }
    });

    // load plugins
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-jshint');

    // default task
    grunt.registerTask('default', [ 'watch' ]);

    grunt.event.on('watch', function(action, filepath) {
        grunt.config(['jshint', 'all'], filepath);
        grunt.config('uglify.dynamic_mappings.files', [{src: filepath }]);
    });

};
Run Code Online (Sandbox Code Playgroud)

dc5*_*dc5 8

这条线

grunt.config('uglify.dynamic_mappings.files', [{src: filepath }]);
Run Code Online (Sandbox Code Playgroud)

完全替换uglify.dynamic_mappings.files的原始配置

而是尝试包含其他原始参数以及新的src:filepath