Ví dụ, bạn đang xây dựng một dự án trên Backbone hoặc bất cứ điều gì và bạn cần tải các tập lệnh theo một thứ tự nhất định, ví dụ như underscore.js
cần phải được tải trước đó backbone.js
.
Làm thế nào để tôi có được nó để ghép các tập lệnh sao cho chúng theo thứ tự?
// JS concat, strip debugging and minify
gulp.task('scripts', function() {
gulp.src(['./source/js/*.js', './source/js/**/*.js'])
.pipe(concat('script.js'))
.pipe(stripDebug())
.pipe(uglify())
.pipe(gulp.dest('./build/js/'));
});
Tôi có thứ tự đúng các tập lệnh trong tôi source/index.html
, nhưng vì các tệp được sắp xếp theo thứ tự chữ cái, gulp sẽ nối underscore.js
sau backbone.js
và thứ tự của các tập lệnh trong tôi source/index.html
không quan trọng, nó nhìn vào các tệp trong thư mục.
Vì vậy, có ai có một ý tưởng về điều này?
Ý tưởng tốt nhất tôi có là để đổi tên các kịch bản cung cấp với 1
, 2
, 3
để cung cấp cho họ theo đúng thứ tự, nhưng tôi không chắc chắn nếu tôi như thế này.
Khi tôi tìm hiểu thêm, tôi thấy Browserify là một giải pháp tuyệt vời, ban đầu nó có thể là một nỗi đau nhưng thật tuyệt vời.
require
ở mặt trước vì tất nhiên nếu bạn đã sử dụng npm ở phía máy chủ của bạn, bạn sẽ thấy cách bạn có thể yêu cầu các mô-đun, nhưng browserify cho phép bạn thực hiện điều đó trên mã phía máy khách, giữ để bắt đầu, nó đòi hỏi một chút mày mò, nhưng chủ yếu là bên trong gói.json và nếu bạn muốn sử dụng với gulp.js hoặc grunt.js. Nếu bạn cài đặt gói browserify gulp / grunt, bạn có thể chạy gulp/grunt browserify
và biến tập lệnh của mình thành một tập lệnh chính, đó là một đường cong học tập nhẹ nhưng đáng để IMO.
browserify
cho Angular
mô-đun, nơi công trình nối đơn giản và trật tự không quan trọng :)