繁体   English   中英

在Angular2中导入模块

[英]Importing modules in Angular2

根据理解,Node js使用CommonJS模块模式,而在CommonJS模式中,我们使用require()来导入节点模块。

在Angular 2应用程序开发中,我们使用@ angular / core,@ angular / common等节点模块。

我的问题是:

为什么我们使用'@ angular / core'中的“import {”[[ES6模块语法]而不是commonJS require()语法来访问angular2代码文件中的节点模块。

原因是Angular2是用TypeScript编写的。

TypeScript是ES2015的超集,并且希望尽可能接近ES2015建议的语法。 这就是您从语法中使用ES2015 import {}的原因。

但是,TypeScript还带有内置的转换器(tsc)。 这意味着您编写TypeScript代码,但在tsconfig.json中定位特定的EcmaScript版本

  • 在定位ES5并查看已编译的代码时,您将清楚地看到在幕后,TypeScript会将转换文件中的import {}转换为require()。
  • 当针对ES6时,当然在转换后的代码中,您的进口将是ES2015进口。 请注意,在定位ES6时,您需要使用babel将ES6模块转换为ES5或使用System.js在浏览器中加载ES6模块。

干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM