Tôi đang cố gắng để đạt được dòng Gulp này:Browserify chỉ khi lint đi trong Gulp
Nó có vẻ như một quá trình khá thẳng về phía trước, nhưng từ những gì tôi có thể nói, nó là không thể để triển khai dưới dạng luồng Gulp.
tôi đang làm điều này:
gulp.task('js', function() {
return browserify('foo/main.js')
.bundle()
.pipe(source('bundle.js'))
.pipe(streamify(jshint()))
.pipe(jshint.reporter('default'))
// source map, minify, …
});
Vấn đề là JSHint nên chạy đầu tiên, chỉ có trên các tập tin đã thay đổi, và quá trình này nên được hủy bỏ nếu lint thất bại. Trong thiết lập của tôi, Browserify luôn chạy, và chỉ sau đó JSHint chạy trên toàn bộ gói. Tôi có thể đối phó với hình phạt về hiệu suất, nhưng số dòng của JSHint tương ứng với gói được tạo ra chứ không phải các tệp nguồn JS của tôi, đó là một nỗi đau.
sử dụng rất mát mẻ [hợp nhất luồng] (https://www.npmjs.com/package/merge-stream) – plong0