Ми хочемо використовувати 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).