首页 文章

在Typescript 2.7.2中编写Common.js模块 - 编译问题

提问于
浏览
0

我对Typescript和Javascript也是全新的,所以这无疑是一个noobie问题 . 我正在看一些关于编写模块的Typescript 2.0教程 . 在typescript documentation中,作者描述了ES6模块导入/导出方法,以及CommonJS,AMD和其他导入/导出方法 .

但是,似乎在我的 tsconfig.json 中我可以指定编译时要使用的模块处理程序:AMD,CommonJS等 .

所以我的困惑是,我可以使用带有 import {}... 的标准ES6语句编写导入/导出,然后在编译时将它们转换为相应的CommonJS或RequireJS语法吗?或者我是否需要在typescript中编写适当的CommonJS / RequireJS等语法,然后编译步骤将使用我生成的任何内容?

2 回答

  • 2

    我可以使用带有import {} ...的标准ES6语句编写导入/导出,然后在编译时将它们转换为相应的CommonJS或RequireJS语法吗?

    确切地说, importexport 是TypeScript语言的一部分,它们实际上与ES6中的 importexport 相同 .

    TypeScript将根据 tsconfig.jsonmoduletarget 设置的组合编译它们 - 如果 targetes6 或以上(或 module 本身是 es6 ), importexport 将保留在生成的javascript中,否则它们将转换为AMD或commonJS语法 .

  • 1

    是的,它会影响生成的代码,而不会影响您编写代码的方式 .

    作为学习练习,我建议使用每个值查看输出: None ,_ CommonJSAMD ,_ SystemUMD ,_ ES6ES2015ESNext .

    请注意,某些配置中的某些编译器选项不可用:

    • outFile 只能与 AMDSystem 一起使用

    • 但是 ES6 或更低的目标可能会使用 ES6 / ES2015

相关问题