Chcemy używać bootstrap 4 (4.0.0-alpha.2) w naszej aplikacji wygenerowanej z angular-cli 1.0.0-beta.5 (w / node v6.1.0).
Po uzyskaniu bootstrapu i jego zależności z npm, nasze pierwsze podejście polegało na dodaniu ich do angular-cli-build.js
:
'bootstrap/dist/**/*.min.+(js|css)',
'jquery/dist/jquery.min.+(js|map)',
'tether/dist/**/*.min.+(js|css)',
i importuj je do naszego 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>
Działa to dobrze, ng serve
ale gdy tylko stworzyliśmy kompilację z -prod
flagą, wszystkie te zależności zniknęły dist/vendor
(niespodzianka!).
Jak mamy obsłużyć taki scenariusz (np. Ładowanie skryptów bootstrap) w projekcie wygenerowanym za pomocą angular-cli?
Mieliśmy następujące przemyślenia, ale tak naprawdę nie wiemy, którą drogą wybrać ...
użyć CDN? ale wolelibyśmy udostępnić te pliki, aby zagwarantować, że będą one dostępne
skopiować zależności do
dist/vendor
po naszymng build -prod
? Ale wydaje się, że powinno to zapewnić coś kątowego, ponieważ „dba” o część kompilacji?dodajesz jquery, bootstrap i tether
src/system-config.ts
i jakoś wciągasz je do naszego pakietumain.ts
? Ale wydawało się to niewłaściwe, biorąc pod uwagę, że nie będziemy ich jawnie wykorzystywać w kodzie naszej aplikacji (na przykład moment.js lub coś w rodzaju lodash).