Node.js 导入Angular2中的模块
据了解,NodeJS使用CommonJS模块模式,在CommonJS中 我们使用require()导入节点模块的模式 在Angular 2应用程序开发中,我们使用@Angular/core、@Angular/common等 节点模块 我的问题是: 为什么我们使用“import{}from'@angular/core'”[这是ES6模块语法] 而不是commonJS require()语法来访问节点模块Node.js 导入Angular2中的模块,node.js,angular,typescript,Node.js,Angular,Typescript,据了解,NodeJS使用CommonJS模块模式,在CommonJS中 我们使用require()导入节点模块的模式 在Angular 2应用程序开发中,我们使用@Angular/core、@Angular/common等 节点模块 我的问题是: 为什么我们使用“import{}from'@angular/core'”[这是ES6模块语法] 而不是commonJS require()语法来访问节点模块 在angular2代码文件中。原因是angular2是用TypeScript编写的 TypeS
在angular2代码文件中。原因是angular2是用TypeScript编写的 TypeScript是ES2015的超集,希望尽可能接近ES2015建议的语法。这就是为什么要使用ES2015导入{}from语法 然而,TypeScript还附带了一个内置的transpiler(tsc)。这意味着您要编写TypeScript代码,但要以您的系统中的特定EcmaScript版本为目标
- 当以ES5为目标并查看传输的代码时,您将 清楚地看到,幕后的TypeScript将在传输的文件中将import{}从转换为require()
- 当以ES6为目标时,当然在传输代码中,您的导入将是ES2015导入。请注意,以ES6为目标时,您需要将ES6模块传输到ES5,或使用在浏览器中加载ES6模块