这些angular2导入的目的是什么?

时间:2016-02-21 10:31:41

标签: import angular

我是angular2的新手,想知道我们在angular2应用程序中执行以下导入的目的。

<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>
<script src="node_modules/angular2/bundles/http.dev.js"></script>

所以关于这些进口的问题是:

  • 这些进口是为了什么?
  • 这些导入的序列是否完成?
  • 我们必须注意其他任何有用的进口吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

我的代码示例中没有看到任何 imports 。它只是将各种库的文件包含到网页中。如果您逐一阅读其中一些内容:

  • es6-shim.min.js - 向浏览器添加ES6语言功能(full list
  • Rx.js 添加了Observables库(GitHub RxJS
  • http.dev.js - 添加angular2 $ http模块以发出请求

因此,如果适用于您的项目,您可以谷歌查看每个名称并自行计算。

有关ES2015 / ES6中模块和实际imports的更多内容,您可以在此处阅读https://ponyfoo.com/articles/es6-modules-in-depth

“我们必须注意的有用进口商品?”

完全取决于您的需求。我假设angular2.dev.js和http.dev.js是一个很好的开始。

“这些进口的顺序是否重要?”

不是现在,但仅当您使用正确的模块系统时,浏览器才能在执行依赖它们的块之前加载缺失的部分。并且加载器文件(system.js / require.js)应该在所有其他文件之前的第一个。

答案 1 :(得分:1)

以下是您在脚本元素中指定的内容的详细信息:

  • 如果您使用TypeScript并配置了ES5输出,则不需要两个第一个文件。
  • angular2-polyfills.js - 包含ZoneJS(用于触发更改检测 - 请参阅What is the Angular2 equivalent to an AngularJS $watch?)和反射元数据(用于设置装饰器中对象的元数据)
  • system.src.js - SystemJS,管理模块的库。简而言之,当您在TypeScript中使用导入和导出时,相应的编译代码依赖于它。
  • Rx.js - RxJS,一个提供反应式编程概念实现的库。简而言之,它提供了一个可观察的实体和它们的运算符。 EventEmitters,HTTP依赖于此。
  • angular2.dev.js - Angular2核心包
  • http.dev.js - Angular2的HTTP支持