Chúng tôi muốn sử dụng bootstrap 4 (4.0.0-alpha.2) trong ứng dụng của chúng tôi được tạo bằng angular-cli 1.0.0-beta.5 (w / node v6.1.0).
Sau khi nhận được bootstrap và các phụ thuộc của nó với npm, cách tiếp cận đầu tiên của chúng tôi bao gồm thêm chúng vào angular-cli-build.js
:
'bootstrap/dist/**/*.min.+(js|css)',
'jquery/dist/jquery.min.+(js|map)',
'tether/dist/**/*.min.+(js|css)',
và nhập chúng vào index.html
<script src="vendor/jquery/dist/jquery.min.js"></script>
<script src="vendor/tether/dist/js/tether.min.js"></script>
<link rel="stylesheet" type="text/css" href="vendor/bootstrap/dist/css/bootstrap.min.css">
<script src="vendor/bootstrap/dist/js/bootstrap.min.js"></script>
Điều này hoạt động tốt với ng serve
nhưng ngay khi chúng tôi tạo ra một bản dựng với -prod
cờ, tất cả các phụ thuộc này biến mất khỏi dist/vendor
(bất ngờ!).
Làm thế nào chúng ta có ý định xử lý kịch bản như vậy (tức là tải các kịch bản bootstrap) trong một dự án được tạo bằng angular-cli?
Chúng tôi đã có những suy nghĩ sau đây nhưng chúng tôi thực sự không biết đường nào để đi ...
sử dụng CDN? nhưng chúng tôi muốn phục vụ các tệp này để đảm bảo rằng chúng sẽ có sẵn
sao chép phụ thuộc vào
dist/vendor
sau của chúng tôing build -prod
? Nhưng có vẻ như một cái gì đó góc cạnh nên cung cấp vì nó 'chăm sóc' phần xây dựng?thêm jquery, bootstrap và tether vào
src/system-config.ts
và bằng cách nào đó kéo chúng vào gói của chúng tôi trongmain.ts
? Nhưng điều đó có vẻ sai khi xem xét rằng chúng tôi sẽ không sử dụng chúng một cách rõ ràng trong mã ứng dụng của chúng tôi (ví dụ như không phải là flash.js hoặc một cái gì đó như lodash chẳng hạn).