TypeScript编译选项
TypeScript编译器(tsc)提供了许多选项,用于配置编译过程和生成的JavaScript代码,以下是详尽的TypeScript编译选项列表
- –allowJs: 允许编译JavaScript文件
- –allowSyntheticDefaultImports: 允许从没有设置默认导出的模块中默认导入
- –allowUnreachableCode: 不报告不可到达的代码错误
- –allowUnusedLabels: 不报告未使用的标签错误
- –alwaysStrict: 在编译过程中启用严格模式
- –baseUrl: 解析非相对模块名称的基准目录
- –charset: 输入文件的字符集
- –checkJs: 在js文件中报告错误
- –declaration: 生成相应的.d.ts文件
- –declarationDir: 将生成的.d.ts文件放置在指定的目录中
- –diagnostics: 显示诊断信息
- –disableSizeLimit: 禁用tsconfig.json文件中的maxNodeModuleJsDepth限制
- –downlevelIteration: 编译ES2015 For…of, spread和解构赋值成ES5
- –emitBOM: 在输出文件中保留UTF-8的BOM
- –emitDeclarationOnly: 只生成.d.ts文件,而不会生成.js文件
- –esModuleInterop: 以esModule模块的形式导入CommonJS模块
- –experimentalDecorators: 启用实验性的装饰器特性
- –forceConsistentCasingInFileNames: 不允许引用大小写不一致的文件
- –importHelpers: 从tslib导入辅助工具函数
- –incremental: 启用增量编译
- –inlineSourceMap: 将源映射作为数据URI内联到输出文件中
- –isolatedModules: 将每个文件作为独立的模块
- –jsx: 设置JSX代码的处理方式(preserve/react/…)
- –jsxFactory: 指定JSX工厂函数
- –jsxFragmentFactory: 指定JSX片段工厂函数
- –lib: 编译时所需的库文件
- –listEmittedFiles: 打印编译生成的文件列表
- –listFiles: 打印编译的文件列表
- –mapRoot: 为源文件指定源映射的路径
- –maxNodeModuleJsDepth: 设置递归搜索的node_modules的最大深度
- –module: 指定生成哪种模块系统代码(none/commonjs/amd/system/umd/es2015/esNext)
- –moduleResolution: 指定模块解析策略(node/classic)
- –newLine: 设置换行方式(crlf/lf)
- –noEmit: 不生成输出文件
- –noEmitHelpers: 不生成辅助函数
- –noEmitOnError: 在出现错误时不生成输出文件
- –noErrorTruncation: 不要截断错误消息
- –noFallthroughCasesInSwitch: 在switch语句中禁用fallthrough检查
- –noImplicitAny: 不允许隐式的any类型
- –noImplicitReturns: 不允许有隐式返回类型为any的函数
- –noImplicitThis: 在严格的函数表达式中不允许this隐式具有any类型
- –noImplicitUseStrict: 不在每个文件里都插入"use strict"
- –noLib: 不包含默认库文件(如:lib.d.ts)
- –noResolve: 不在编译过程中解析文件引用
- –noStrictGenericChecks: 不完全启用严格的泛型检查
- –outDir: 指定输出目录
- –outFile: 将输出文件合并成一个文件
- –paths: 路径映射规则
- –preserveConstEnums: 保留const enums在运行时
- –preserveSymlinks: 不解析symlink的真实路径
- –preserveWatchOutput: 保留监听模式下的输出文件
- –pretty: 输出漂亮的错误信息
- –reactNamespace: 指定React命名空间
- –removeComments: 删除注释
- –resolveJsonModule: 允许导入json模块
- –rootDir: 根目录
- –skipDefaultLibCheck: 跳过默认库文件的检查
- –skipLibCheck: 跳过所有声明文件的类型检查
- –sourceMap: 生成对应的.map源映射文件
- –sourceRoot: 源码的根路径
- –strict: 启用所有严格类型检查选项
- –strictBindCallApply: 在严格函数绑定、call和apply检查
- –strictFunctionTypes: 启用严格函数类型检查
- –strictNullChecks: 启用严格的null检查
- –strictPropertyInitialization: 启用严格属性初始化检查
- –stripInternal: 删除@internal注解
- –suppressExcessPropertyErrors: 抑制额外的属性检查错误
- –suppressImplicitAnyIndexErrors: 抑制隐式的any索引错误
- –target: 指定ECMAScript目标版本(es3/es5/es6/es2015/es2016/es2017/es2018/es2019/es2020/esnext)
- –traceResolution: 显示解决过程
- –tsBuildInfoFile: 指定增量构建信息文件
- –typeRoots: 指定自定义类型文件的目录
- –types: 指定需要包含的类型声明文件
- –esModuleInterop: 允许以esModule模块的形式导入CommonJS模块
- –useDefineForClassFields: 使用 define而不是编译类字段初始化
- –verbose: 显示诊断信息
- –watch: 监视文件的改变
- –experimentalAsyncFunctions: 启用实验性的异步函数支持
- –experimentalDecorators: 启用实验性的装饰器支持