ngụm-browserify doesn' t khá làm việc như thế. Bạn không cung cấp cho nó một loạt các bộ đệm để thu thập và đóng gói.
Bạn cung cấp cho nó một tệp — tệp mục nhập — được chuyển vào Browserify. Trình duyệt kiểm tra để xem những gì khác tệp tham chiếu tệp nhập, sau đó tải các tệp đó trực tiếp từ hệ thống tệp, có nghĩa là bạn không thể sửa đổi chúng bằng các plugin gulp trước.
Vì vậy, thực sự, nếu chúng ta giả vờ bạn không muốn sử dụng Babel trên các tập tin nguồn của bạn, gulpfile của bạn sẽ giống như thế này, chỉ đi qua trong file nhập:
gulp.task('script', function() {
'use strict'
return gulp.src('app.js')
.pipe(browserify())
.pipe(gulp.dest("dist"));
});
Tuy nhiên, lưu ý rằng ngụm -browserify không còn được duy trì nữa, và đây chính là lý do tại sao. Plugin gulp không được phép đọc trực tiếp từ hệ thống tệp. Đó là lý do tại sao bạn phải sử dụng Browserify (hoặc, trong trường hợp của bạn, Babelify) trực tiếp với mã nguồn vinyl as recommended in the gulp recipes. Nó thành ngữ hơn và ít khó hiểu hơn.
Điều đó kết thúc câu trả lời của tôi cho câu hỏi của bạn, nhưng tôi muốn thêm: nếu bạn đang sử dụng cú pháp mô-đun ES2015 (và có thể bạn nên), có cách tốt hơn để thực hiện việc này. Browserify kết thúc tốt đẹp tất cả các mô-đun của bạn một cách riêng biệt trong một loạt các mã để làm cho API CommonJS có lập trình hoạt động đúng cách, nhưng các mô-đun ES2015 có một cú pháp khai báo, giúp dễ dàng hơn cho các công cụ hoạt động trên chúng một cách tĩnh lặng. Có một công cụ được gọi là Rollup tận dụng lợi thế này, cho phép nó tạo ra các gói nhỏ hơn, nhanh hơn và thân thiện với môi trường hơn so với Browserify.
Đây là cách bạn có thể sử dụng nó với ngụm:
var gulp = require('gulp'),
rollup = require('rollup-stream'),
babel = require('gulp-babel'),
source = require('vinyl-source-stream'),
buffer = require('vinyl-buffer');
gulp.task('script', function() {
return rollup({entry: 'app.js'})
.pipe(source('app.js'))
.pipe(buffer())
.pipe(babel())
.pipe(gulp.dest('dist'));
});
gì được phiên bản babel bạn đang sử dụng? –