tsconfig.json
最后更新于:2022-04-02 03:27:58
[TOC]
## 注解
```
{
"compileOnSave": false,
"compilerOptions": {
// 允许编译javascript文件。
"allowJs": true,
// 允许从没有设置默认导出的模块中默认导入。这并不影响代码的显示,仅为了类型检查。
"allowSyntheticDefaultImports": true,
// 不报告执行不到的代码错误
"allowUnreachableCode": true,
// 不报告未使用的标签错误。
"allowUnusedLabels": true,
// 以严格模式解析并为每个源文件生成 "use strict"语句
"alwaysStrict": false,
// 解析非相对模块名的基准目录。查看 模块解析文档了解详情。
"baseUrl": "./",
// 输入文件的字符集。
"charset": "utf8",
// 在 .js文件中报告错误。与 --allowJs配合使用。
"checkJs": true,
// 生成相应的 .d.ts文件。
"declaration": true,
// 生成声明文件的输出路径。
"declarationDir": "./@types/",
// 显示诊断信息。
"diagnostics": true,
// 禁用JavaScript工程体积大小的限制
"disableSizeLimit": false,
// 禁止对同一个文件的不一致的引用。
"forceConsistentCasingInFileNames": false,
// 从 tslib 导入辅助工具函数(比如 __extends, __rest等)
// "importHelpers": true,
"outDir": "./dist/out-tsc",
// 生成单个sourcemaps文件,而不是将每sourcemaps生成不同的文件。
"inlineSourceMap": false,
// 将代码与sourcemaps生成到一个文件中,要求同时设置了 --inlineSourceMap或 --sourceMap属性。
"inlineSources": false,
// 将每个文件作为单独的模块(与“ts.transpileModule”类似)。
"isolatedModules": false,
// 在 .tsx文件里支持JSX: "React"或 "Preserve"。查看 JSX。
"jsx": "preserve",
// 指定生成目标为react JSX时,使用的JSX工厂函数,比如 React.createElement或 h。
"jsxFactory": "React.createElement",
"sourceMap": true,
"moduleResolution": "node",
// 给源码里的装饰器声明加上设计类型元数据。查看 issue #2577了解更多信息。
"emitDecoratorMetadata": true,
// 启用实验性的ES装饰器。
"experimentalDecorators": true,
// 打印出编译后生成文件的名字
"listEmittedFiles": true,
// 编译过程中打印文件名。
"listFiles": true,
"target": "es5",
// node_modules依赖的最大搜索深度并加载JavaScript文件。仅适用于 --allowJs。
"maxNodeModuleJsDepth": 1,
"module": "umd",
"typeRoots": ["node_modules/@types"],
// 删除所有注释,除了以 /!*开头的版权信息。
"removeComments": true,
"lib": ["es2017", "dom"],
"noImplicitAny": true,
"paths": {
}
}
}
```
## 常用
```{
"compileOnSave": false,
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"allowSyntheticDefaultImports": true,
"removeComments": true,
"maxNodeModuleJsDepth": 0,
"allowUnreachableCode": true,
"allowUnusedLabels": true,
"alwaysStrict": false,
"baseUrl": "./",
"charset": "utf8",
"disableSizeLimit": false,
"outDir": "./dist",
"sourceMap": true,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"lib": [
"es2017",
"dom"
],
"noImplicitAny": true,
"paths": {
}
},
"include": [
"**/*"
],
"exclude": [
"node_modules"
]
}
```
';