是否特定于Angular 2的导入和导出语句?

rub*_*buc 9 angular

这些语句是来自特定语言/框架,还是自定义为Angular 2.我试图了解Angular 2的工作原理.

import {} from ''
export class ... { }
Run Code Online (Sandbox Code Playgroud)

Par*_*ain 13

不, importexport关键字不是Angular2特有的.

进口

import语句用于导入从外部模块,另一个脚本等导出的函数,对象或基元.基本上我们使用该import模块加载Angular2包.例如:

'import {Component, and many more here....} from angular2/core`
Run Code Online (Sandbox Code Playgroud)

Component是一个从Angular2的包中导入的模块.angular2/core不是路径 - 相反,它是预定义的Angular2捆绑.如果你看一下angular bundle的源代码,你可以看到System.register("angular2/core", ....- 为此,我们已经system.jsindex.html文件中的Angular之前导入了.system.js是这里的模块加载器.

目前,该import功能未在本地任何浏览器中实现.它在许多转发器中实现,例如Traceur Compiler,Babel或Rollup.有关该import模块的更多信息,您可以阅读本教程有关导入模块的信息.对于Angular2的导入列表,您可以在此处阅读此内容.

出口

从名称中可以清楚地看出,该export语句用于从给定文件(或模块)导出函数,对象或基元. export只是一个标识符,以便可以通过导入在另一个脚本中导入它.export也是一个像导入模块一样的ES6模块.一篇文章export在这里.正如Eric在评论中所建议的那样,我们使用Angular2项目中的导出类来导出组件的类.举个例子,你可以在这里参考我的回购.