Gruntjs 使用Grunt Browserify指定一个普通任务和一个监视任务

Gruntjs 使用Grunt Browserify指定一个普通任务和一个监视任务,gruntjs,browserify,watchify,Gruntjs,Browserify,Watchify,我在本地开发期间使用Watchify(通过grunt browserify)进行快速编译: grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), browserify: { app: { src: './src/app.js', dest: 'build/js/app.js' }, options: {

我在本地开发期间使用Watchify(通过grunt browserify)进行快速编译:

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    browserify: {
        app: {
            src: './src/app.js',
            dest: 'build/js/app.js'
        },
        options: {
            // next two lines for watchify + watch instead of browserify
            watch: true,
            keepAlive: true,
            transform: ['node-lessify', 'node-underscorify'],
            debug: true,
            browserifyOptions: {
                debug:true // include source maps.  currently only available with browserify
            }
        }
    }
}

grunt.loadNpmTasks('grunt-browserify');
运行
grunt browserify
进入一个
while true
循环,该循环持续监视更改。当构建一个生产就绪的捆绑包时,我希望它只运行一次,而不是观看

我已尝试过此配置,但
browserify:dev
任务从未监视:

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    browserify: {
        dev: {
            src: './src/app.js',
            dest: 'build/js/app.js',
            // next two lines for watchify + watch instead of browserify
            watch: true,
            keepAlive: true
        },
        package: {
            src: './src/app.js',
            dest: 'build/js/app.js'
        },
        options: {
            transform: ['node-lessify', 'node-underscorify'],
            browserifyOptions: {
                debug:true // include source maps.  currently only available with browserify
            }
        }
    }
});

如何指定一个使用Watchify监视的Browserify任务,以及一个构建整个包并退出的任务?

我的配置错误。请注意,
keepAlive:false
位于
browserify:package
作业的
options
命名空间中:

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    browserify: {
        dev: {
            src: './src/app.js',
            dest: 'build/js/app.js'
        },
        package: {
            src: './src/app.js',
            dest: 'build/js/app.js',
            options: {
                keepAlive: false
            }
        },
        options: {
            watch: true,
            keepAlive: true,
            transform: ['node-lessify', 'node-underscorify'],
            browserifyOptions: {
                debug:true // include source maps.  currently only available with browserify
            }
        }
    }
});