首先安装typescript
npm install typescript --save
tsconfig.json

 1 {
 2   "compilerOptions": {
 3     "baseUrl": ".", // 工作根目录
 4     "rootDir": "src",// 用来指定编译文件的根目录,编译器会在根目录查找入口文件
 5     "target": "es5", //target用于指定编译之后的版本目标
 6     "lib": [
 7       "esnext",
 8       "es7",
 9       "dom"
10     ], //编译过程中需要引入的库文件的列表。
11     "sourceMap": true, //生成相应的 .map文件。
12     "allowJs": true, //允许编译javascript文件。
13     "skipLibCheck": true, //忽略所有的声明文件( *.d.ts)的类型检查。
14     "strictNullChecks": false, //在严格的 null检查模式下, null和 undefined值不包含在任何类型里,只允许用它们自己和 any来赋值
15     "esModuleInterop": true, //使 typescript 来兼容所有模块方案的导入。
16     "suppressImplicitAnyIndexErrors": true, //阻止 --noImplicitAny对缺少索引签名的索引对象报错。查看 issue #1232了解详情。
17     "allowSyntheticDefaultImports": true, //允许从没有设置默认导出的模块中默认导入。这并不影响代码的输出,仅为了类型检查。
18     "strict": true, //启用所有严格类型检查选项。 
19     "forceConsistentCasingInFileNames": true,//禁止对同一个文件的不一致的引用。
20     "noFallthroughCasesInSwitch": true, //报告switch语句的fallthrough错误。
21     "noImplicitReturns": false, //不是函数的所有返回路径都有返回值时报错。
22     "noImplicitThis": true, //当 this表达式的值为 any类型的时候,生成一个错误。
23     "noImplicitAny": false, //在表达式和声明上有隐含的 any类型时报错
24     "importHelpers": false, //从 tslib 导入辅助工具函数
25     "module": "esnext", //指定生成哪个模块系统代码
26     "moduleResolution": "node", //决定如何处理模块。或者是"Node"对于
27     "resolveJsonModule": true, // 包含导入的模块.json的扩展。
28     "isolatedModules": false, //将每个文件作为单独的模块
29     "emitDecoratorMetadata": true, //给源码里的装饰器声明加上设计类型元数据。
30     "experimentalDecorators": true, //启用实验性的ES装饰器。
31     "jsx": "react-jsx", //在 .tsx文件里支持JSX: "React"或 "Preserve"。查看 JSX。
32     "paths": {
33       "@/*": ["src/*"],
34     },
35   },
36   "include": [
37     "src/**/*"
38   ], //编译时需要包含
39   "exclude": [
40     "node_modules",
41     "build",
42     "scripts",
43     "src/setupTests.ts"
44   ] //剔除的文件夹
45 }

如果你在webpack里面做了缩小检索范围@->src ,ts里面也要做相应的处理,否则会报错

 

posted on 2021-02-04 10:42  执候  阅读(591)  评论(0编辑  收藏  举报