tsconfig.json 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. {
  2. "compilerOptions": {
  3. "incremental": true, // TS编译器在第一次编译之后会生成一个存储编译信息的文件,第二次编译会在第一次的基础上进行增量编译,可以提高编译的速度
  4. "tsBuildInfoFile": "./buildFile", // 增量编译文件的存储位置
  5. "target": "ES5",
  6. "module": "esnext", // 生成代码的模板标准
  7. "strict": true, // 开启所有严格的类型检查
  8. "noImplicitAny": false,
  9. "strictPropertyInitialization": false,
  10. "jsx": "preserve",
  11. "importHelpers": true,
  12. "moduleResolution": "node",
  13. "esModuleInterop": true,
  14. "allowSyntheticDefaultImports": true,
  15. "experimentalDecorators": true,
  16. "strictFunctionTypes": false,
  17. "outDir": "./dist", // 指定输出目录
  18. "rootDir": "./", // 指定输出文件目录(用于输出),用于控制输出目录结构
  19. "declaration": true, // 生成声明文件,开启后会自动生成声明文件
  20. "declarationDir": "./file", // 指定生成声明文件存放目录
  21. "emitDeclarationOnly": true, // 只生成声明文件,而不会生成js文件
  22. "sourceMap": true, // 生成目标文件的sourceMap文件
  23. "downlevelIteration": true, // 降级遍历器实现,如果目标源是es3/5,那么遍历器会有降级的实现
  24. "alwaysStrict": true, // 在代码中注入'use strict'
  25. "noFallthroughCasesInSwitch": true, // 防止switch语句贯穿(即如果没有break语句后面不会执行)
  26. "removeComments": true, // 删除注释
  27. "baseUrl": ".",
  28. "typeRoots": [
  29. // add path to @types
  30. "node_modules/@types"
  31. ],
  32. "types": [ // 加载的声明文件包
  33. "node",
  34. "webpack-env",
  35. "@dcloudio/types",
  36. "vue-class-component/lib"
  37. ],
  38. "paths": {
  39. "@/*": [
  40. "src/*"
  41. ]
  42. },
  43. // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,如es8的数组新特性需要引入"ES2019.Array",
  44. "lib": [
  45. "esnext",
  46. "dom",
  47. "dom.iterable",
  48. "scripthost",
  49. "es5",
  50. "es6",
  51. "es7",
  52. "es2015.promise"
  53. ],
  54. },
  55. //表示编译需要编译的文件或目录
  56. "include": [
  57. "src/**/*.ts",
  58. "src/**/*.tsx",
  59. "src/**/*.vue",
  60. "tests/**/*.ts",
  61. "tests/**/*.tsx"
  62. ],
  63. //表示编译器需要排除的文件或文件夹
  64. "exclude": [
  65. "node_modules",
  66. "unpackage",
  67. "src/**/*.nvue",
  68. "dist",
  69. "./*.js"
  70. ]
  71. }