2

でデフォルトの uglify dev オプションを変更しようとして'watch'いますが、設定されていません。例として、'production' の uglify タスクにさらにサブタスクを追加することを計画しています。これはデフォルトのオプションを使用しますが、私の 'dev' サブタスクでは、watch タスクで新しいオプションを渡したいと考えています。

module.exports = function(grunt) {

    // Project configuration.

    grunt.initConfig({

        // ...

        uglify: {
            // default options
            options: {
                banner: '<%= banner %>/* Built <%= grunt.template.today("yyyy/mm/dd") %> for <%= powerful.name %> */\n',
                preserveComments: 'some',
                report: 'min',
                mangle: {
                    except: ['jQuery', 'Backbone']
                }
            },
            dev: {
                // options were here...
                files: {
                    // Powerful Theme JS
                    '<%= powerful.jspath %>touch.min.js':
                    [
                        '<%= powerful.jspath %>libs/jquery.hammer.js',
                        '<%= powerful.jspath %>dev/touch.js'
                    ],
                    '<%= powerful.jspath %>768down.min.js':
                    [
                        '<%= powerful.jspath %>dev/768down.js'
                    ]
                }
            },
            production: {
                // production files here, use default options....
            }
        },

        watch: {
            js: {
                files: ['<%= themesPath %>/**/js/{dev,libs,bootstrap}/*.js'],
                tasks: ['uglify:dev'],
                options: {
                    nospawn:    true
                }
            }
        }
    });

    // ...

    grunt.event.on('watch', function(action, filepath) {
        grunt.config.set('uglify.dev.options', {
            banner: '/*! TESTING 123 */',
            preserveComments: 'all',
            report: false,
            compress: false,
            beautify: true
        });
    });

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

};
4

0 に答える 0