Wir möchten Bootstrap 4 (4.0.0-alpha.2) in unserer App verwenden, die mit angle-cli 1.0.0-beta.5 (mit Node v6.1.0) generiert wurde.
Nachdem wir Bootstrap und seine Abhängigkeiten mit npm erhalten hatten, bestand unser erster Ansatz darin, sie hinzuzufügen in angular-cli-build.js
:
'bootstrap/dist/**/*.min.+(js|css)',
'jquery/dist/jquery.min.+(js|map)',
'tether/dist/**/*.min.+(js|css)',
und importieren sie in unsere 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>
Das hat gut funktioniert, ng serve
aber sobald wir einen Build mit -prod
Flag erstellt haben, sind alle diese Abhängigkeiten verschwunden dist/vendor
(Überraschung!).
Wie sollen wir mit einem solchen Szenario (dh Laden von Bootstrap-Skripten) in einem mit angle-cli generierten Projekt umgehen?
Wir hatten die folgenden Gedanken, aber wir wissen nicht wirklich, welchen Weg wir gehen sollen ...
ein CDN verwenden? Wir möchten diese Dateien jedoch lieber bereitstellen, um sicherzustellen, dass sie verfügbar sind
Kopieren Sie Abhängigkeiten
dist/vendor
nach unseremng build -prod
? Aber das scheint etwas zu sein, das Angular-Cli bieten sollte, da es sich um den Build-Teil kümmert?JQuery, Bootstrap und Tether hinzufügen
src/system-config.ts
und sie irgendwie in unser Bundle ziehenmain.ts
? Aber das schien falsch zu sein, wenn man bedenkt, dass wir sie nicht explizit im Code unserer Anwendung verwenden werden (im Gegensatz zu moment.js oder so etwas wie lodash zum Beispiel).