我对Typescript和Javascript也是全新的,所以这无疑是一个noobie问题 . 我正在看一些关于编写模块的Typescript 2.0教程 . 在typescript documentation中,作者描述了ES6模块导入/导出方法,以及CommonJS,AMD和其他导入/导出方法 .
但是,似乎在我的 tsconfig.json
中我可以指定编译时要使用的模块处理程序:AMD,CommonJS等 .
所以我的困惑是,我可以使用带有 import {}...
的标准ES6语句编写导入/导出,然后在编译时将它们转换为相应的CommonJS或RequireJS语法吗?或者我是否需要在typescript中编写适当的CommonJS / RequireJS等语法,然后编译步骤将使用我生成的任何内容?
2 回答
确切地说,
import
和export
是TypeScript语言的一部分,它们实际上与ES6中的import
和export
相同 .TypeScript将根据
tsconfig.json
中module
和target
设置的组合编译它们 - 如果target
是es6
或以上(或module
本身是es6
),import
和export
将保留在生成的javascript中,否则它们将转换为AMD或commonJS语法 .是的,它会影响生成的代码,而不会影响您编写代码的方式 .
作为学习练习,我建议使用每个值查看输出:
None
,_CommonJS
,AMD
,_System
,UMD
,_ES6
,ES2015
和ESNext
.请注意,某些配置中的某些编译器选项不可用:
outFile
只能与AMD
或System
一起使用但是
ES6
或更低的目标可能会使用ES6
/ES2015