2024-04-28 13:38:12 +08:00
|
|
|
|
{
|
2024-12-02 16:15:56 +08:00
|
|
|
|
// 编译选项
|
2024-04-28 13:38:12 +08:00
|
|
|
|
"compilerOptions": {
|
2024-12-03 15:01:03 +08:00
|
|
|
|
/* ES */
|
2024-12-03 14:36:23 +08:00
|
|
|
|
"target": "ESNext", // 指定ECMAScript目标版本
|
2024-12-02 16:15:56 +08:00
|
|
|
|
"module": "ESNext", // 设置程序的模块系统
|
2024-12-03 14:36:23 +08:00
|
|
|
|
"lib": ["ESNext", "DOM"], //TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,通常都需要配置,如es8的数组新特性需要引入"ES2019.Array",
|
2025-01-12 20:17:35 +08:00
|
|
|
|
"allowJs": true, // 允许编译 javascript 文件
|
|
|
|
|
|
"checkJs": true, // 报告 javascript 文件中的错误
|
2024-12-03 15:01:03 +08:00
|
|
|
|
|
2025-01-12 20:17:35 +08:00
|
|
|
|
/* 模块解析 */
|
|
|
|
|
|
"moduleResolution": "node", //模块解析策略。默认使用node的模块解析策略
|
2024-12-03 14:36:23 +08:00
|
|
|
|
"allowImportingTsExtensions": true, // 允许导入包含 TypeScript 文档扩展名。
|
2024-12-02 16:15:56 +08:00
|
|
|
|
"resolveJsonModule": true, //允许导入扩展名为".json"的模块
|
2025-01-12 20:17:35 +08:00
|
|
|
|
"sourceMap": true, // 是否生成相应的Map映射的文件,默认:false
|
|
|
|
|
|
// "isolatedModules": true, //将每个文件作为单独的模块(与"ts.transpileModule"类似)。
|
2024-12-02 16:15:56 +08:00
|
|
|
|
"noEmit": true, // 不输出文件,即编译后不会生成任何js文件
|
|
|
|
|
|
"jsx": "preserve", //preserve模式,在preserve模式下生成代码中会保留JSX以供后续的转换操作使用
|
2024-12-03 15:01:03 +08:00
|
|
|
|
|
2025-01-12 20:17:35 +08:00
|
|
|
|
/* 类型检查 */
|
2024-12-02 16:15:56 +08:00
|
|
|
|
"strict": true, //启用所有严格类型检查选项
|
2025-12-17 17:10:47 +08:00
|
|
|
|
"noUnusedLocals": false, // 若有未使用的局部变量则抛错
|
|
|
|
|
|
"noUnusedParameters": false, // 检若有未使用的函数参数则抛错
|
2024-12-02 16:15:56 +08:00
|
|
|
|
"noFallthroughCasesInSwitch": true, // 防止switch语句贯穿(即如果没有break语句后面不会执行)
|
2025-01-12 20:17:35 +08:00
|
|
|
|
"esModuleInterop": true, // 是否通过为所有导入模块创建命名空间对象,允许CommonJS和ES模块之间的互操作性,开启改选项时,也自动开启allowSyntheticDefaultImports选项,默认:false
|
|
|
|
|
|
"skipLibCheck": true, //忽略所有的声明文件( *.d.ts)的类型检查
|
2024-12-03 15:01:03 +08:00
|
|
|
|
|
|
|
|
|
|
/* path */
|
2024-12-02 16:15:56 +08:00
|
|
|
|
"baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录
|
2024-04-28 13:38:12 +08:00
|
|
|
|
"paths": {
|
2024-12-02 16:15:56 +08:00
|
|
|
|
// 模块名到基于 baseUrl的路径映射的列表
|
2024-04-28 13:38:12 +08:00
|
|
|
|
"@/*": ["src/*"]
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
2024-12-02 16:15:56 +08:00
|
|
|
|
// include也可以指定要编译的路径列表,这里的路径可以是文件夹,也可以是文件,可以使用相对和绝对路径,而且可以使用通配符,比如"./src"即表示要编译src文件夹下的所有文件以及子文件夹的文件
|
2024-04-28 13:38:12 +08:00
|
|
|
|
"include": [
|
|
|
|
|
|
"src/**/*",
|
|
|
|
|
|
"src/**/*.ts",
|
|
|
|
|
|
"src/**/*.tsx",
|
|
|
|
|
|
"src/**/*.vue",
|
2024-12-03 18:23:59 +08:00
|
|
|
|
"src/auto-import.d.ts", // 与vite.config.ts-AutoImport-dts路径一致
|
2024-12-04 16:56:38 +08:00
|
|
|
|
"build/**/*.ts",
|
|
|
|
|
|
"build/**/*.d.ts",
|
2024-12-03 14:36:23 +08:00
|
|
|
|
"vite.config.ts"
|
2024-04-28 13:38:12 +08:00
|
|
|
|
], // 指定被编译文件所在的目录
|
2024-12-02 16:15:56 +08:00
|
|
|
|
// exclude表示要排除的、不编译的文件,它也可以指定一个列表,规则和include一样,可以是文件或文件夹,可以是相对路径或绝对路径,可以使用通配符
|
2024-12-04 16:56:38 +08:00
|
|
|
|
"exclude": ["node_modules", "dist", "**/*.js"] // 指定不需要被编译的目录
|
2024-04-28 13:38:12 +08:00
|
|
|
|
}
|