2014-05-24 15 views
6

Hiện nay tôi đã cấu hình sau Gruntfile với hai nhiệm vụ riêng biệt và nó hoạt động hoàn hảo:Grunt cấu hình đồng hồ và nghiệp: đơn vị trong nhiệm vụ duy nhất

grunt.registerTask('server', [ 
    'connect', 
    'jshint', 
    'less:dev', 
    'watch' 
]); 

grunt.registerTask('test', [ 
    'karma:unit' 
]); 

Tôi muốn làm một công việc mà bao gồm cả sự vật và đăng nhập vào một cửa sổ đầu cuối. Cái gì như:

grunt.registerTask('dev', [ 
    'connect', 
    'jshint', 
    'less:dev', 
    'karma:unit', 
    'watch' 
]); 

Vấn đề là nghiệp chướng đó và đồng hồ không thể làm việc với nhau. Tôi đã cố gắng để đặt karma:unit:run đến watch cấu hình và nó hoạt động, nhưng tải cấu hình nghiệp trên mỗi thay đổi tệp. Và điều này tôi không thích:

Running "karma:unit:run" (karma) task 
[2014-05-25 01:40:24.466] [DEBUG] config - Loading config /Users/.../test/karma.config.js 
PhantomJS 1.9.7 (Mac OS X): Executed 4 of 4 SUCCESS (0.011 secs/0.012 secs) 

Có khả năng nào để giải quyết vấn đề này hoặc tốt hơn để chạy các tác vụ đó một cách riêng biệt không?

Trả lời

4

Sử dụng grunt-concurrent chạy cả hai đồng hồ và nghiệp chướng nhiệm vụ:

concurrent: { 
    target: { 
    tasks: ['karma:unit', 'watch'] 
    } 
} 

Sau đó chạy về công việc đồng thời từ nhiệm vụ dev của bạn:

grunt.registerTask('dev', [ 
    'connect', 
    'jshint', 
    'less:dev', 
    'concurrent:target' 
]); 
+3

Cảm ơn, những tôi đang tìm kiếm. Nhưng cần thêm 'logConcurrentOutput: true' để ghi nhật ký thích hợp. –

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