看看这里:
https://angular.io/guide/quickstart
<!-- IE required polyfills, in this exact order -->
<script src="node_modules/es6-shim/es6-shim.min.js"></script>
<script src="node_modules/systemjs/dist/system-polyfills.js"></script>
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
我已经检查了其他加载了这些内容的角度2教程:
<script src="~/lib/es6-shim.min.js"></script>
<script src="~/lib/es6-promise.js"></script>
<script src="~/lib/system-polyfills.js"></script>
<script src="~/lib/angular2-polyfills.js"></script>
<script src="~/lib/system.js"></script>
<script src="~/lib/Rx.js"></script>
<script src="~/lib/angular2.js"></script>
<script src="~/lib/zone.js"></script>
另外还有es6-promise.js
和zone.js
为什么我需要包含这些库,当5分钟的教程在没有它们的情况下工作?
答案 0 :(得分:0)
angular2的捆绑版本包含这些依赖项。在您的第二个示例中,您正在访问原始版本,而不是捆绑包,因此您将自己添加依赖项。
不一致可能是由于编写教程的开发人员不同。也许每个人都对如何在开发中加载angular2有自己的看法。
答案 1 :(得分:0)
根据此overview
Angular 2需要Polyfill才能正常运行(确切地说 list取决于所使用的浏览器)和外部依赖项(zone.js)。 为了简化Angular 2应用程序的设置,有一个文件 - angular2-polyfills.js - 结合了:
所有浏览器都必须使用pollyfill:reflect-metadata zone.js注意: angular2-polyfills.js包含应该加载到的代码 浏览器作为Web应用程序的第一个代码甚至在之前 模块加载器。首选解决方案是加载上述文件 尽可能早地使用脚本标记。
基本上angular2-polyfills.js是zone.js和reflect-metadata
的包。如果你检查代码,你也可以看到es6-promise。