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