我对Typescript和Javascript也是全新的,所以这无疑是一个noobie问题。我正在看一些关于编写模块的Typescript 2.0教程。在typescript documentation中,作者描述了ES6模块导入/导出方法,以及CommonJS,AMD和其他导入/导出方法。
但是,似乎在我的tsconfig.json
中,我可以指定在编译时我想要使用哪个模块处理程序:AMD,CommonJS等。
所以我的困惑是,我可以使用带有import {}...
的标准ES6语句编写导入/导出,然后在编译时将它们转换为适当的CommonJS或RequireJS语法吗?或者我是否需要在typescript中编写适当的CommonJS / RequireJS等语法,然后编译步骤将使用我生成的任何内容?
答案 0 :(得分:2)
是的,它会影响生成的代码,而不会影响您编写代码的方式。
作为一项学习练习,我建议您查看每个值的输出:<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>)**
,None
,CommonJS
,AMD
,{{1} },System
,UMD
和ES6
。
请注意,某些配置中没有某些编译器选项:
ES2015
只能与ESNext
或outFile
AMD
或更低System
/ ES6
答案 1 :(得分:1)
我可以使用标准ES6语句编写导入/导出 import {} ...,然后将它们转换为相应的CommonJS 或编译时的RequireJS语法?
确切地说,import
和export
是TypeScript语言的一部分,它们与ES6中的import
和export
几乎完全相同。
TypeScript将根据module
中target
和tsconfig.json
设置的组合对其进行编译 - 如果target
为es6
或更高(或module
1}}本身为es6
),import
和export
将保留在生成的javascript中,否则它们将转换为AMD或commonJS语法。