为什么es6-promise和zone.js不包含在angular 2 5min Typescript教程中

时间:2016-02-22 21:51:49

标签: angular

看看这里:

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.jszone.js

为什么我需要包含这些库,当5分钟的教程在没有它们的情况下工作?

2 个答案:

答案 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。