Điểm quan trọng của việc sử dụng CDN là nhanh hơn , trước hết, vì đây là mạng phân tán , nhưng thứ hai, vì các tệp tĩnh đang được các trình duyệt lưu vào bộ nhớ cache và rất có thể, ví dụ, jquery
thư viện của CDN là trang web của bạn việc sử dụng đã được trình duyệt của người dùng tải xuống và do đó, tệp đã được lưu trong bộ nhớ cache và do đó không có quá trình tải xuống không cần thiết nào diễn ra. Điều đó đang được nói, nó vẫn là một ý tưởng tốt để cung cấp một dự phòng .
Bây giờ, điểm của gói npm của bootstrap
là nó cung cấp tệp javascript của bootstrap dưới dạng một mô-đun . Như đã được đề cập ở trên, điều này làm cho nó có thể require
sử dụng browserify , đây là trường hợp sử dụng có khả năng nhất và theo tôi hiểu, đó là lý do chính khiến bootstrap được xuất bản vào npm.
Làm thế nào để sử dụng nó
Hãy tưởng tượng cấu trúc dự án sau:
dự án
| - node_modules
| - công cộng
| | - css
| | - img
| | - js
| | - index.html
| - pack.json
Trong của index.html
bạn, bạn có thể tham khảo cả css
và js
các tập tin như thế này:
<link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css">
<script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
Đó là cách đơn giản nhất và chính xác cho các .css
tập tin. Nhưng sẽ tốt hơn nhiều nếu bao gồm bootstrap.js
tệp như thế này ở đâu đó trong public/js/*.js
tệp của bạn :
var bootstrap = require('bootstrap');
Và bạn chỉ bao gồm mã này trong các javascript
tệp mà bạn thực sự cần bootstrap.js
. Browserify chăm sóc bao gồm tập tin này cho bạn.
Bây giờ, nhược điểm là bây giờ bạn có các tệp mặt trước của mình dưới dạng node_modules
phụ thuộc và node_modules
thư mục thường không được kiểm tra git
. Tôi nghĩ rằng đây là phần gây tranh cãi nhất, với nhiều ý kiến và giải pháp .
CẬP NHẬT tháng 3 năm 2017
Gần hai năm đã trôi qua kể từ khi tôi viết câu trả lời này và một bản cập nhật được đưa ra.
Bây giờ cách thường được chấp nhận là sử dụng một gói như webpack (hoặc một gói lựa chọn khác) để gói tất cả tài sản của bạn trong một bước xây dựng.
Đầu tiên, nó cho phép bạn sử dụng cú pháp commonjs giống như browserify, vì vậy để bao gồm mã js bootstrap trong dự án của bạn, bạn cũng làm như vậy:
const bootstrap = require('bootstrap');
Đối với các css
tập tin, webpack được gọi là " bộ tải ". Họ cho phép bạn viết điều này trong mã js của bạn:
require('bootstrap/dist/css/bootstrap.css');
và các tệp css sẽ được "đưa vào" một cách kỳ diệu trong bản dựng của bạn. Chúng sẽ được thêm động dưới dạng <style />
thẻ khi ứng dụng của bạn chạy, nhưng bạn có thể định cấu hình gói web để xuất chúng dưới dạng css
tệp riêng biệt . Bạn có thể đọc thêm về điều đó trong tài liệu của webpack.
Tóm lại là.
- Bạn nên "bó" mã ứng dụng của mình với một gói
- Bạn không nên cam kết
node_modules
các tệp được tạo động cho git. Bạn có thể thêm một build
tập lệnh vào npm sẽ được sử dụng để triển khai các tệp trên máy chủ. Dù sao, điều này có thể được thực hiện theo những cách khác nhau tùy thuộc vào quá trình xây dựng ưa thích của bạn.