{ "compilerOptions": { "incremental": true, // TS编译器在第一次编译之后会生成一个存储编译信息的文件,第二次编译会在第一次的基础上进行增量编译,可以提高编译的速度 "tsBuildInfoFile": "./buildFile", // 增量编译文件的存储位置 "target": "ES5", "module": "esnext", // 生成代码的模板标准 "strict": true, // 开启所有严格的类型检查 "noImplicitAny": false, "strictPropertyInitialization": false, "jsx": "preserve", "importHelpers": true, "moduleResolution": "node", "esModuleInterop": true, "allowSyntheticDefaultImports": true, "experimentalDecorators": true, "strictFunctionTypes": false, "outDir": "./dist", // 指定输出目录 "rootDir": "./", // 指定输出文件目录(用于输出),用于控制输出目录结构 "declaration": true, // 生成声明文件,开启后会自动生成声明文件 "declarationDir": "./file", // 指定生成声明文件存放目录 "emitDeclarationOnly": true, // 只生成声明文件,而不会生成js文件 "sourceMap": true, // 生成目标文件的sourceMap文件 "downlevelIteration": true, // 降级遍历器实现,如果目标源是es3/5,那么遍历器会有降级的实现 "alwaysStrict": true, // 在代码中注入'use strict' "noFallthroughCasesInSwitch": true, // 防止switch语句贯穿(即如果没有break语句后面不会执行) "removeComments": true, // 删除注释 "baseUrl": ".", "typeRoots": [ // add path to @types "node_modules/@types" ], "types": [ // 加载的声明文件包 "node", "webpack-env", "@dcloudio/types", "vue-class-component/lib" ], "paths": { "@/*": [ "src/*" ] }, // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,如es8的数组新特性需要引入"ES2019.Array", "lib": [ "esnext", "dom", "dom.iterable", "scripthost", "es5", "es6", "es7", "es2015.promise" ], }, //表示编译需要编译的文件或目录 "include": [ "src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "tests/**/*.ts", "tests/**/*.tsx" ], //表示编译器需要排除的文件或文件夹 "exclude": [ "node_modules", "unpackage", "src/**/*.nvue", "dist", "./*.js" ] }