最佳答案
我们想在angular-cli 1.0.0-beta.5生成的应用程序中使用bootstrap 4 (4.0.0-alpha.2)(w/ node v6.1.0)。
在获得bootstrap及其与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
?但这似乎是angular-cli应该提供的,因为它“照顾”构建部分?
在src/system-config.ts
中添加jquery、bootstrap和tether,并以某种方式将它们拉到main.ts
中的捆绑包中?但考虑到我们不会在应用程序代码中显式地使用它们(例如,不像moment.js或类似lodash的东西),这似乎是错误的。