[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" ] } ```