2014-09-25 15 views
7

Tôi đang cố gắng thiết lập grunt-notify với grunt-contrib-lessgrunt-contrib-watch. Nói chung điều này là làm việc tốt nhưng tôi không thể nhận được grunt-thông báo để thông báo cho tôi khi grunt-less được thực hiện thành công.vui lòng thông báo: Không kích hoạt thành công

Nếu có ai có bất kỳ thông tin chi tiết về cách thiết lập hoặc gỡ lỗi, vui lòng có bất kỳ đầu vào nào.


Full info:

tôi đã thiết lập grunt-thông báo để kích hoạt bất cứ khi nào ít đã chạy sử dụng một chiếc đồng hồ. Điều này làm việc tuyệt vời khi nhiệm vụ ít thất bại. Mang lại cho tôi một lỗi pop-up lớn:

image

Để tham khảo này là giao diện điều khiển đầu ra:

image

Khi ít thành công, tôi không nhận được bất kỳ thông báo. Tôi muốn nhận được thông báo nhưng không thể tìm ra cách bật tính năng này.

Đây là giao diện điều khiển đầu ra khi ít thành công:

image

Đây là GruntFile mà tôi đang sử dụng:

module.exports = function(grunt) { 

    grunt.initConfig({ 

     less: { 
      development: { 
       options: { 
        compress: true 
       }, 
       files: { 
        "FILE.css": "FILE2.less" 
       } 
      } 
     }, 

     watch: { 
      less: { 
       files: '**/*.less', 
       tasks: ['less', 'notify_hooks'] 
      } 
     }, 


     notify_hooks: { 
      options: { 
       message: "MESSAGE" 
      } 

     } 


    }); 

    grunt.loadNpmTasks('grunt-contrib-less'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-notify'); 

    grunt.registerTask("default", ['less']); 

}; 

Original question on Github

Trả lời

9

Bạn cần phải thêm tin nhắn cho y nhiệm vụ của chúng tôi để gruntfile và chỉ định nhiệm vụ mà nó sẽ cung cấp cho thông điệp đó. Xem dưới đây

notify: { 
    less:{ 
     options:{ 
      title: "CSS Files built", 
      message: "Less task complete" 
     } 
    } 
} 

Để tham khảo bạn có thể nhìn thấy chúng sử dụng trong git repo readme

gia tăng cho đầy đủ:

Như uKolka đã đề cập dưới đây, bạn cũng sẽ yêu cầu nhiệm vụ theo dõi để được cập nhật theo mình giải pháp:

watch: { 
    less: { 
     files: '**/*.less', 
     tasks: ['less', 'notify:less'] 
    } 
}, 

Trường hợp notify:less tham chiếu đến tác vụ ít hơn trong đối tượng notifiy.

+0

Cảm ơn! Tôi thề tôi đã thử điều này ngày hôm qua, nhưng nó không hoạt động. Hoạt động ngay bây giờ, vì vậy cảm ơn! - Sẽ chấp nhận điều này như là câu trả lời được chấp nhận trong 5 phút (một lần được cho phép). – sixtyfootersdude

+0

Không vấn đề gì, vui mừng vì nó hoạt động. – DavidT

8

Cần lưu ý rằng việc xác định nhiệm vụ thông báo ...

notify: { 
    less:{ 
     options:{ 
      title: "CSS Files built" 
      message: "Less task complete" 
     } 
    } 
} 

... chỉ là một phần của thỏa thuận này.

Nó cũng phải được đăng ký trong tác vụ mà bạn muốn nó được kích hoạt.

Vì vậy, đối với mã gốc OP để làm việc

watch: { 
     less: { 
      files: '**/*.less', 
      tasks: ['less', 'notify_hooks'] 
     } 
    }, 

nên được thay đổi để

watch: { 
     less: { 
      files: '**/*.less', 
      tasks: ['less', 'notify:less'] 
     } 
    }, 

này tham chiếu notify:less đề cập trước đó.

+0

Câu trả lời này có giải pháp thực sự để hầu hết mọi người có thể ngập ngừng trong việc định cấu hình đúng mọi thứ. – Ikon

Các vấn đề liên quan