相关 tsconfig.json 参数

  1. {
  2. "compilerOptions": {
  3. "target": "es5",
  4. "module": "ESNext",
  5. "moduleResolution": "node"
  6. }
  7. }

助记

target、lib、module 影响编译器最终输出,moduleResolution 影响输入

target

设置编译器最终输出的目标代码为 ECMA-262 哪个版本

lib

配置使用哪些内建的类型声明文件,不配置时

  • "target": "es5" 默认 "lib": ["DOM","ES5","ScriptHost"]
  • "target": "es6" 默认 "lib": ["DOM","ES6","DOM.Iterable","ScriptHost"]

module

配置输出代码使用哪种模块方案

moduleResolution

配置输入代码(即编写的 TypeScript 代码)使用哪种模块解析方案,一般使用 node (遵循 commonjs 规范),类外一个参数 classic 为 TypeScript 1.6 之前使用的模块解析策略(有兴趣自行查看文档

参考

compiler options

typescript confusion tsconfig.json module moduleresolution target lib explained