2015-02-19 20 views
24

Tôi đang cố gắng tìm hiểu các công cụ như bower/grunt/requirejs để tăng tốc quá trình phát triển cho trang web của mình và làm cho mã của tôi được mô đun hóa/hiệu quả hơn. Tôi hiện đang theo dõi this tutorial. Làm thế nào để Bower chỉ cài đặt thư mục dist cho các phụ thuộc của tôi (thiết lập trong tệp component.json của tôi) thay vì toàn bộ kho lưu trữ Git?Cấu hình bower để chỉ cài đặt thư mục dist

+0

Nếu bạn không phải là nhà phát triển của mô-đun, có thể trình bower-installer có thể giúp bạn chỉ lấy các phần bạn muốn từ các thành phần: https://scotch.io/tutorials/only-grab-the-files-you- cần thiết trong khi sử dụng-bower –

Trả lời

21

gì bạn đang tìm kiếm là bỏ qua tài sản trong bower.json: https://github.com/bower/bower.json-spec

Các nhà phát triển của các mô-đun có thể sử dụng bỏ qua thuộc tính để loại trừ các tập tin khi module được tải về và cài đặt thông qua Bower.

Nếu bạn là nhà phát triển của mô-đun đã nói, bạn có thể sử dụng thuộc tính bỏ qua để loại trừ mọi thứ trừ thư mục dist.

Nếu bạn không phải là nhà phát triển của các mô-đun, sau đó không có nhiều bạn có thể làm, bạn sẽ nhận được bất cứ điều gì các nhà phát triển của mô-đun đã được coi là đáng kể. Trong hầu hết các trường hợp, đây không phải là vấn đề.

Dưới đây là một cấu hình điển hình cho bỏ qua thuộc tính:

{ 
    "ignore": [ 
    "**/.*", 
    "node_modules", 
    "bower_components", 
    "test", 
    "package.json", 
    "src" 
    ] 
} 
6

Từ Bower của api documentation, có dường như không có gì để nói "Cài đặt chỉ thư mục dist".

Vì bạn đang sử dụng Grunt, bạn có thể tạo một nhiệm vụ để chạy sau khi bower install sử dụng grunt-contrib-clean để xóa các tệp và thư mục không mong muốn khỏi thư mục bower_components.

Something như thế này nên loại bỏ tất cả mọi thứ từ thư mục bower_components trừ dist thư mục:

clean : { 
    dist : ['bower_components/*/*', '!bower_components/*/dist'] 
} 

Trong khi nhìn vào điều này tôi cũng tìm thấy grunt-bower-task mà dường như để làm chính xác điều đó. Hạn chế duy nhất tôi thấy với phương pháp này là bạn phải tạo bower.json bằng tay trước và sau đó chạy tác vụ grunt.

+0

grunt-bower-nhiệm vụ hoạt động tuyệt vời. Với tùy chọn "exportOverride", cũng có thể cài đặt phiên bản '.min'. Cảm ơn! – tivnet

0

Điều này không trực tiếp trả lời câu hỏi của bạn, nhưng có thể giúp bạn với những gì bạn đang cố gắng hoàn thành.

Có hai plugin: grunt-wiredepgrunt-wiredep-copy có thể giúp bạn quản lý các phụ thuộc của máy chủ. Những tự động thêm phụ thuộc vào HTML của bạn, và sau đó có thể lấy những yêu cầu minified và sao chép chúng vào thư mục dist của bạn.

Tôi tuy nhiên phải vật lộn với một số khía cạnh của việc này tại How to manage bower dependencies when developing and deploying with grunt and a dist project folder?

5

Bower không cung cấp bất kỳ tùy chọn để làm điều đó. Chủ yếu là vì they have refused to.

Tất cả những gì chúng tôi còn lại là cách hacky để giải quyết nó, như grunt-wiredep, điều này không giải quyết được vấn đề theo nghĩa nghiêm ngặt.

Chúc may mắn!

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