2015-06-27 37 views
5

Tôi đã cài đặt một vài gói bằng Bower, nhưng tôi không biết cách triển khai chúng.Làm cách nào để triển khai các gói do Bower cài đặt?

Ví dụ, ý tưởng đầu tiên của tôi là tạo ra một nhiệm vụ Gulp rằng sẽ tiếp nhau chúng - Tôi đã làm điều này với gói góc của tôi:

gulp.task('libs', function() { 
    'use strict'; 
    return gulp 
     .src([ 
      './public/assets/libs/angular/angular.min.js', 
      './public/assets/libs/angular-animate/angular-animate.min.js', 
      './public/assets/libs/angular-routes/angular-route.min.js' 
     ]) 
     .pipe(concat('libs.js')) 
     .pipe(uglify()) 
     .pipe(gulp.dest('public/dist')); 
}); 

Tuy nhiên, trong khi những gói trên là khá đơn giản, một số người khác (Bootstrap và jQuery, chính xác) đi kèm với những nguồn mà tôi không cần. Tôi có nên chỉ sao chép bootstrap.min.cssjquery.min.js vào thư mục dist của mình không?

Thành thật mà nói, tôi chỉ có thể bao gồm tất cả các tệp này từ CDN, tôi chưa hiểu tại sao tôi sử dụng Bower (Tôi đã làm theo hướng dẫn sử dụng Bower).

Cảm ơn sự giúp đỡ của bạn!

Trả lời

2

Đầu tiên, đây là lý do để sử dụng Bower, theo ý kiến ​​của tôi.

Trong "ngày cũ", cách để bao gồm thư viện JavaScript cụ thể (giả sử jQuery) trong ứng dụng của bạn sẽ truy cập trang web jQuery, nhấp vào liên kết tải xuống và di chuyển tệp .zip đã tải xuống vào dự án của bạn và giải nén nó. Sau đó, bạn sẽ thêm một thẻ script bao gồm thư viện.

Cách "hiện đại" bao gồm thư viện JavaScript (vẫn sử dụng jQuery làm ví dụ) chỉ cần chạy bower install jquery --save, sẽ thêm) vào tệp bower.json liệt kê tất cả các phụ thuộc của ứng dụng và b) lấy jQuery và đặt chúng vào vị trí thích hợp. Và nếu bạn đang sử dụng một cái gì đó gọi là tiêm, mà bạn có thể hoặc có thể đã không gặp phải, bạn thậm chí không phải lo lắng về các thẻ script vì điều này được chăm sóc bởi hệ thống xây dựng của bạn.

(Bằng cách này, tôi giả sử Bower được lấy cảm hứng từ các công cụ quản lý gói của các ngôn ngữ khác như RubyGems cho Ruby, mà tôi hiểu tồn tại nhiều năm trước bất cứ thứ gì như thế trong thế giới JavaScript. nhìn vào các công cụ như vậy.)

Thứ hai, tôi sẽ trả lời câu hỏi của bạn về việc triển khai.

Tùy thuộc vào nơi bạn đang triển khai. Cá nhân tôi sử dụng Heroku cho tất cả các môi trường sản xuất của tôi. Tôi không kiểm tra các thư viện nhà cung cấp JavaScript của mình vào Git bởi vì nó không phải là ý tưởng tốt để giữ các tạo phẩm xây dựng trong điều khiển phiên bản. Thay vào đó, tôi chỉ cần kiểm tra trong bower.json của tôi, mà Heroku có thể phát hiện. Heroku chạy một sản phẩm bower install để sản xuất và kéo tất cả các tệp thư viện thích hợp. Đó là cách triển khai của tôi hoạt động, mặc dù nó không phải là cách duy nhất nó có thể được thực hiện.

Nếu bạn muốn biết cách triển khai cho một nền tảng cụ thể, bạn nên chỉnh sửa câu hỏi này hoặc tạo một câu hỏi riêng biệt bao gồm chi tiết hơn về môi trường triển khai của bạn.

+0

Tôi nghĩ bạn đã trả lời câu hỏi của tôi: về bản chất, toàn bộ cấu trúc bower_components cũng sẽ có trên máy chủ. Nhân tiện, tôi đã từng sử dụng RubyGems và hiện tại tôi cũng sử dụng NPM, nhưng trong khi không tải lên 'node_modules' và chạy' npm install' trên máy chủ thì đơn giản, cũng không giống với Bower. – zcserei

+0

Nếu tôi hiểu mọi thứ đúng, tôi có nên trỏ đến thư mục 'bower_components' của mình khi bao gồm một số tệp nhất định trong chế độ xem của tôi không? – zcserei

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