2016-03-18 3 views
3

Я пытаюсь построить свой JS-пакет через grunt/browsify. Я также использую grunt для scss-компиляции. Для этого я использую grunt-watch для запуска scss-компиляции изменений.Trigger grunt task after browsify/watchify run

Я хотел такого же поведения для JS-браузера. grunt-browserify поставляется с опцией «смотреть», что очень хорошо помогает.

Моя единственная проблема: я хочу получить уведомление после «повторного браузера». Для SCSS я использую grunt-notify. Но я не могу найти способ запустить задачу grunt после просмотра браузера.

Мой gruntfile отрывок:

var gruntOptions = { 

    notify: { 
     browserify_node_modules: { 
      options: { 
       title: "Browserify", 
       message: "node_modules build" 
      } 
     } 
    }, 

    browserify: { 
     node_modules: { 
      src: ["node_modules.js"], 
      dest: "trunk/js/lib/node_modules.js", 
      options: { 
       watch: true, 
      } 
     } 
    } 
}; 

Лучший сценарий:

  options: { 
       watch: true, 
       finishTask: "notify:browserify_node_modules" 
      } 

Спасибо!

ответ

1

Вы можете проверить, был ли файл, сгенерированный Browserify, изменен, а затем запустить задачу.

Установите watch задачу в Грунта:

npm install grunt-contrib-watch --save-dev 

Настройка watch задачи в Gruntfile.js:

grunt.initConfig({ 

    // other tasks 

    your_task: { 
     // ... 
    }, 

    watch: { 
     dev: { 
      files: 'trunk/js/lib/node_modules.js', // file generated by Browserify 
      options: { spawn: false }, 
      tasks: ['your_task'] 
     } 
    } 
}); 

grunt.loadNpmTasks('grunt-contrib-watch'); 
+0

Спасибо, это работает для меня :) – huehnerhose