Ми хочемо використовувати bootstrap 4 (4.0.0-alpha.2) у нашому додатку, згенерованого за допомогою angular-cli 1.0.0-beta.5 (w / node v6.1.0).
Після отримання завантажувальної програми та її залежностей від npm, наш перший підхід полягав у додаванні їх у angular-cli-build.js:
'bootstrap/dist/**/*.min.+(js|css)',
'jquery/dist/jquery.min.+(js|map)',
'tether/dist/**/*.min.+(js|css)',
і імпортувати їх у наші 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>
Це добре спрацювало, ng serveале як тільки ми створили збірку з -prodпрапором, усі ці залежності зникли dist/vendor(здивування!).
Як ми маємо поводитися з таким сценарієм (тобто завантаженням сценарії завантаження) в проект, сформований з angular-cli?
У нас були такі думки, але ми не знаємо, яким шляхом йти ...
використовувати CDN? але ми скоріше подаємо ці файли, щоб гарантувати їх доступність
копіювати залежності
dist/vendorпісля нашихng build -prod? Але це здається, що щось має бути кутовим затискачем, оскільки воно "піклується" про частину складання?додаючи jquery, bootstrap і tether in
src/system-config.tsі якось втягніть їх у наш пакетmain.ts? Але це здавалося неправильним, враховуючи, що ми не збираємось використовувати їх явно в коді нашої програми (на відміну від moment.js або, наприклад, lodash).
