tsconfig.json 2.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. {
  2. "compilerOptions": {
  3. "target": "es5",
  4. "lib": ["dom", "dom.iterable", "esnext"],
  5. "allowJs": true,
  6. "checkJs": true,
  7. "skipLibCheck": true,
  8. "esModuleInterop": true,
  9. "allowSyntheticDefaultImports": true,
  10. "strict": true,
  11. "noImplicitAny": true /* noImplicitAny的值为true或false,如果我们没有为一些值设置明确的类型,编译器会默认认为这个值为any,如果noImplicitAny的值为true的话。则没有明确的类型会报错。默认值为false */,
  12. "strictNullChecks": true /* strictNullChecks为true时,null和undefined值不能赋给非这两种类型的值,别的类型也不能赋给他们,除了any类型。还有个例外就是undefined可以赋值给void类型 */,
  13. "strictFunctionTypes": true /* strictFunctionTypes的值为true或false,用于指定是否使用函数参数双向协变检查 */,
  14. "strictBindCallApply": true /* 设为true后会对bind、call和apply绑定的方法的参数的检测是严格检测的 */,
  15. "strictPropertyInitialization": true /* 设为true后会检查类的非undefined属性是否已经在构造函数里初始化,如果要开启这项,需要同时开启strictNullChecks,默认为false */,
  16. "noImplicitThis": true /* 当this表达式的值为any类型的时候,生成一个错误 */,
  17. "alwaysStrict": true /* alwaysStrict的值为true或false,指定始终以严格模式检查每个模块,并且在编译之后的js文件中加入"use strict"字符串,用来告诉浏览器该js为严格模式 */,
  18. /* Additional Checks */
  19. // "noUnusedLocals": true /* 用于检查是否有定义了但是没有使用的变量,对于这一点的检测,使用eslint可以在你书写代码的时候做提示,你可以配合使用。它的默认值为false */,
  20. // "noUnusedParameters": true /* 用于检查是否有在函数体中没有使用的参数,这个也可以配合eslint来做检查,默认为false */,
  21. "noImplicitReturns": true /* 用于检查函数是否有返回值,设为true后,如果函数没有返回值则会提示,默认为false */,
  22. "forceConsistentCasingInFileNames": true,
  23. "noFallthroughCasesInSwitch": true,
  24. "module": "esnext",
  25. "moduleResolution": "node",
  26. "resolveJsonModule": true,
  27. "isolatedModules": true,
  28. "noEmit": true,
  29. "jsx": "react-jsx"
  30. },
  31. "include": ["src"]
  32. }