Skip to content
json
{
  "compilerOptions": {
    // 基本配置
    "target": "ES5",     // 编译成哪个版本的 es 实际上无用
    "module": "ESNext",  // 指定生成哪个模块系统代码 实际上无用
    "lib": ["dom", "dom.iterable", "esnext"], // 编译过程中需要引入的库文件的列表
    "allowJs": true,     // 允许编译 js 文件
    "jsx": "react",      // 在 .tsx 文件里支持 JSX
    "isolatedModules": true,
    "strict": true,      // 启用所有严格类型检查选项

    // 模块解析选项
    "moduleResolution": "node",   // 指定模块解析策略
    "esModuleInterop": true,     // 支持 CommonJS 和 ES 模块之间的互操作性
    "resolveJsonModule": true,   // 支持导入 json 模块
    "baseUrl": "./",             // 根路径
    "paths": {		            // 路径映射,与 baseUrl 关联
      "@": ["src"],
      "@/*": ["src/*"]
    },

    // 实验性选项
    "experimentalDecorators": true,  // 启用实验性的ES装饰器
    "emitDecoratorMetadata": true,  // 给源码里的装饰器声明加上设计类型元数据

    // 其他选项
    "forceConsistentCasingInFileNames": true, // 禁止对同一个文件的不一致的引用
    "skipLibCheck": true,                     // 忽略所有的声明文件( *.d.ts)的类型检查
    "allowSyntheticDefaultImports": true,     // 允许从没有设置默认导出的模块中默认导入
    "noEmit": true	// 只想使用tsc的类型检查作为函数时(当其他工具(例如Babel实际编译)时)使用它
  },
  "exclude": ["node_modules"]
}