提干:
这两小节,我们给大家介绍了 tsconfig.json 文件中的各种配置项,但是并不完全,大家自己知道的除了课程中的配置项内容,还有哪些呢,在这里一起做一下讨论分享吧?
关键提炼:
- compilerOptions 中,课程外的配置项你还知道哪些?
- files,include,exclude 这些内容,你还记得吗,能讲讲这些配置项你的理解吗?
提干:
这两小节,我们给大家介绍了 tsconfig.json 文件中的各种配置项,但是并不完全,大家自己知道的除了课程中的配置项内容,还有哪些呢,在这里一起做一下讨论分享吧?
关键提炼:
基本配置
compilerOptions
定义编译器的选项。
常见子选项:
target: 指定生成代码的 ECMAScript 版本。
可能值:ES3, ES5, ES6/ES2015, ES2016, ES2017, ES2018, ES2019, ES2020, ES2021, ES2022, ESNext。
module: 指定生成代码的模块系统。
可能值:CommonJS, ES6, ESNext, AMD, System, UMD, None。
lib: 指定需要包含在编译中的库文件。
可能值:ES5, ES6, DOM, ES2021, WebWorker 等。
allowJs: 是否允许编译 .js 文件。
默认值:false。
checkJs: 检查 .js 文件中的错误。
默认值:false。
declaration: 是否生成 .d.ts 文件。
默认值:false。
outDir: 指定输出目录。
rootDir: 指定输入文件的根目录。
strict: 启用所有严格类型检查选项。
等价于启用 strictNullChecks, strictFunctionTypes, strictBindCallApply 等。
esModuleInterop: 启用对 ES 模块默认导入的互操作性支持。
sourceMap: 生成 .map 文件,用于调试。
noImplicitAny: 禁止隐式的 any 类型。
skipLibCheck: 跳过对声明文件的类型检查。
include
定义需要包含在编译过程中的文件或文件夹。
示例:[“src/**/*”]
exclude
定义需要排除在编译过程之外的文件或文件夹。
默认值:[“node_modules”, “bower_components”, “jspm_packages”]
files
显式列出需要编译的文件。
详细配置项
编译选项
emitDecoratorMetadata: 为装饰器生成元数据。
示例:true
experimentalDecorators: 启用实验性的装饰器。
示例:true
jsx: 指定 JSX 代码的编译方式。
可能值:preserve, react, react-jsx, react-jsxdev, react-native.
moduleResolution: 决定模块的解析策略。
可能值:node, classic。
resolveJsonModule: 是否允许导入 .json 文件。
isolatedModules: 每个文件单独作为一个模块。
useDefineForClassFields: 使用 define 属性而非 assign 来初始化类字段。
输出控制
outFile: 将所有文件合并到一个输出文件。
removeComments: 删除输出中的所有注释。
incremental: 启用增量编译。
tsBuildInfoFile: 指定保存增量编译信息的文件名。
严格模式
strictNullChecks: 严格检查空值。
strictFunctionTypes: 严格检查函数类型。
strictPropertyInitialization: 检查类属性是否被正确初始化。
noImplicitThis: 禁止隐式的 this。
性能优化
skipDefaultLibCheck: 跳过默认库的类型检查。
disableSizeLimit: 禁用文件大小限制。
代码质量
noUnusedLocals: 检查未使用的局部变量。
noUnusedParameters: 检查未使用的函数参数。
noFallthroughCasesInSwitch: 检查 switch 语句中的落空情况
登录后即可查看更多作业,立即登录
数据加载中...