2014-12-10 4 views
2

Я использую Watchify (через хрюкать-browserify) для быстрой компиляции во время локального разработчика:Укажите одну нормальную задачу и смотрящего задачу с 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 
      } 
     } 
    } 
}); 

Как я могу указать одну задачу Browserify, что часы с Watchify, и одна задача, которая строит весь пакет и выходит?

ответ

2

У меня была неправильная конфигурация. Заметим, что keepAlive: false находится в пространстве имен optionsbrowserify:package:

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 
      } 
     } 
    } 
}); 
Смежные вопросы