使用 CLI
¥Using the CLI
在本地运行 tsc
将编译由 tsconfig.json
定义的最接近的项目,或者你可以通过传入一组所需的文件来编译一组 TypeScript 文件。在命令行上指定输入文件时,tsconfig.json
文件将被忽略。
¥Running tsc
locally will compile the closest project defined by a tsconfig.json
, or you can compile a set of TypeScript
files by passing in a glob of files you want. When input files are specified on the command line, tsconfig.json
files are
ignored.
sh
# Run a compile based on a backwards look through the fs for a tsconfig.jsontsc# Emit JS for just the index.ts with the compiler defaultstsc index.ts# Emit JS for any .ts files in the folder src, with the default settingstsc src/*.ts# Emit files referenced in with the compiler settings from tsconfig.production.jsontsc --project tsconfig.production.json# Emit d.ts files for a js file with showing compiler options which are booleanstsc index.js --declaration --emitDeclarationOnly# Emit a single .js file from two files via compiler options which take string argumentstsc app.ts util.ts --target esnext --outfile index.js
编译器选项
¥Compiler Options
如果你正在寻找有关 tsconfig 中的编译器选项的更多信息,请查看 TSConfig 参考手册
¥If you’re looking for more information about the compiler options in a tsconfig, check out the TSConfig Reference
CLI Commands
Flag | Type | |
---|---|---|
--all |
|
|
Show all compiler options. | ||
--help |
|
|
提供本地信息以获取有关 CLI 的帮助。 | ||
--init |
|
|
Initializes a TypeScript project and creates a tsconfig.json file. | ||
--listFilesOnly |
|
|
Print names of files that are part of the compilation and then stop processing. | ||
--locale |
|
|
从 TypeScript 设置消息传递的语言。这不影响触发。 | ||
--project |
|
|
Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'. | ||
--showConfig |
|
|
Print the final configuration instead of building. | ||
--version |
|
|
Print the compiler's version. |
Build Options
Flag | Type | |
---|---|---|
--build |
|
|
Build one or more projects and their dependencies, if out of date | ||
--clean |
|
|
删除所有项目的输出。 | ||
--dry |
|
|
Show what would be built (or deleted, if specified with '--clean') | ||
--force |
|
|
构建所有项目,包括那些看起来是最新的。 | ||
--verbose |
|
|
启用详细日志记录。 |
Watch Options
Flag | Type | |
---|---|---|
--excludeDirectories |
|
|
从监视进程中删除目录列表。 | ||
--excludeFiles |
|
|
从监视模式的处理中删除文件列表。 | ||
--fallbackPolling |
|
|
指定当系统用完原生文件观察程序时观察程序应使用的方法。 | ||
--synchronousWatchDirectory |
|
|
在原生不支持递归观察的平台上同步调用回调并更新目录观察者的状态。 | ||
--watch |
|
|
Watch input files. | ||
--watchDirectory |
|
|
指定如何在缺少递归文件监视功能的系统上监视目录。 | ||
--watchFile |
|
|
指定 TypeScript 监视模式的工作方式。 |
Compiler Flags
Flag | Type | Default |
---|---|---|
--allowArbitraryExtensions |
|
|
如果存在声明文件,则允许导入具有任何扩展名的文件。 | ||
--allowImportingTsExtensions |
|
|
允许导入包含 TypeScript 文件扩展名。 | ||
--allowJs |
|
|
允许 JavaScript 文件成为程序的一部分。使用 | ||
--allowSyntheticDefaultImports |
|
|
当模块没有默认导出时允许 '从 y 导入 x'。 | ||
--allowUmdGlobalAccess |
|
|
允许从模块访问 UMD 全局变量。 | ||
--allowUnreachableCode |
|
|
禁用无法访问代码的错误报告。 | ||
--allowUnusedLabels |
|
|
禁用未使用标签的错误报告。 | ||
--alwaysStrict |
|
|
确保始终触发 '使用严格'。 | ||
--assumeChangesOnlyAffectDirectDependencies |
|
|
在使用 | ||
--baseUrl |
|
|
指定基本目录来解析裸说明符模块名称。 | ||
--charset |
|
|
不再支持。在早期版本中,手动设置读取文件的文本编码。 | ||
--checkJs |
|
|
在类型检查的 JavaScript 文件中启用错误报告。 | ||
--composite |
|
|
启用允许 TypeScript 项目与项目引用一起使用的约束。 | ||
--customConditions |
|
|
解析导入时除了特定于解析器的默认值外还要设置的条件。 | ||
--declaration |
|
|
从项目中的 TypeScript 和 JavaScript 文件生成 .d.ts 文件。 | ||
--declarationDir |
|
|
指定生成的声明文件的输出目录。 | ||
--declarationMap |
|
|
为 d.ts 文件创建源映射。 | ||
--diagnostics |
|
|
构建后输出编译器性能信息。 | ||
--disableReferencedProjectLoad |
|
|
减少 TypeScript 自动加载的项目数量。 | ||
--disableSizeLimit |
|
|
取消 TypeScript 语言服务器中 JavaScript 文件总源代码大小的 20mb 上限。 | ||
--disableSolutionSearching |
|
|
编辑时选择项目退出多项目引用检查。 | ||
--disableSourceOfProjectReferenceRedirect |
|
|
引用复合项目时禁用首选源文件而不是声明文件。 | ||
--downlevelIteration |
|
|
为迭代触发更合规但冗长且性能更低的 JavaScript。 | ||
--emitBOM |
|
|
在输出文件的开头触发一个 UTF-8 字节顺序标记 (BOM)。 | ||
--emitDeclarationOnly |
|
|
只输出 d.ts 文件,不输出 JavaScript 文件。 | ||
--emitDecoratorMetadata |
|
|
为源文件中的修饰声明触发设计类型元数据。 | ||
--esModuleInterop |
|
|
触发额外的 JavaScript 以简化对导入 CommonJS 模块的支持。这启用 | ||
--exactOptionalPropertyTypes |
|
|
按书面形式解释可选属性类型,而不是添加 | ||
--experimentalDecorators |
|
|
启用对 TC39 第 2 阶段草稿装饰器的实验性支持。 | ||
--explainFiles |
|
|
打印在编译期间读取的文件,包括包含它的原因。 | ||
--extendedDiagnostics |
|
|
构建后输出更详细的编译器性能信息。 | ||
--forceConsistentCasingInFileNames |
|
|
确保导入中的大小写正确。 | ||
--generateCpuProfile |
|
|
触发编译器运行的 v8 CPU 配置文件以进行调试。 | ||
--generateTrace |
|
|
生成事件跟踪和类型列表。 | ||
--importHelpers |
|
|
允许每个项目从 tslib 导入帮助函数一次,而不是在每个文件中包含它们。 | ||
--importsNotUsedAsValues |
|
|
为仅用于类型的导入指定触发/检查行为。 | ||
--incremental |
|
|
保存 .tsbuildinfo 文件以允许增量编译项目。 | ||
--inlineSourceMap |
|
|
在触发的 JavaScript 中包含 sourcemap 文件。 | ||
--inlineSources |
|
|
在触发的 JavaScript 内的源映射中包含源代码。 | ||
--isolatedDeclarations |
|
|
要求在导出时进行足够的注释,以便其他工具可以轻松生成声明文件。 | ||
--isolatedModules |
|
|
确保每个文件都可以安全地转译,而无需依赖其他导入。 | ||
--jsx |
|
|
指定生成的 JSX 代码。 | ||
--jsxFactory |
|
|
指定针对 React JSX 触发时使用的 JSX 工厂函数,例如 'React.createElement' 或 'h'。 | ||
--jsxFragmentFactory |
|
|
指定针对 React JSX 触发时用于片段的 JSX 片段引用,例如 'React.Fragment' 或 '分段'。 | ||
--jsxImportSource |
|
|
指定使用 | ||
--keyofStringsOnly |
|
|
使 keyof 只返回字符串而不是字符串、数字或符号。旧版选项。 | ||
--lib |
|
|
指定一组描述目标运行时环境的打包库声明文件。 | ||
--listEmittedFiles |
|
|
编译后打印触发文件的名称。 | ||
--listFiles |
|
|
打印编译期间读取的所有文件。 | ||
--mapRoot |
|
|
指定调试器应该定位映射文件而不是生成的位置的位置。 | ||
--maxNodeModuleJsDepth |
|
|
指定用于从 | ||
--module |
|
|
指定生成什么模块代码。 | ||
--moduleDetection |
|
"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules. |
指定使用什么方法来检测文件是脚本还是模块。 | ||
--moduleResolution |
|
|
指定 TypeScript 如何从给定的模块说明符中查找文件。 | ||
--moduleSuffixes |
|
|
解析模块时要搜索的文件名后缀列表。 | ||
--newLine |
|
|
设置用于触发文件的换行符。 | ||
--noCheck |
|
|
禁用完整类型检查(仅报告关键解析和触发错误)。 | ||
--noEmit |
|
|
禁用从编译中触发文件。 | ||
--noEmitHelpers |
|
|
禁用在编译输出中生成自定义辅助函数(如 | ||
--noEmitOnError |
|
|
如果报告任何类型检查错误,则禁用触发文件。 | ||
--noErrorTruncation |
|
|
禁用错误消息中的截断类型。 | ||
--noFallthroughCasesInSwitch |
|
|
在 switch 语句中启用失败案例的错误报告。 | ||
--noImplicitAny |
|
|
启用具有隐含 | ||
--noImplicitOverride |
|
|
确保派生类中的覆盖成员使用覆盖修饰符进行标记。 | ||
--noImplicitReturns |
|
|
为未在函数中显式返回的代码路径启用错误报告。 | ||
--noImplicitThis |
|
|
当 | ||
--noImplicitUseStrict |
|
|
禁止在触发的 JavaScript 文件中添加 '使用严格' 指令。 | ||
--noLib |
|
|
禁用包含任何库文件,包括默认的 lib.d.ts。 | ||
--noPropertyAccessFromIndexSignature |
|
|
对使用索引类型声明的键强制使用索引访问器。 | ||
--noResolve |
|
|
禁止 | ||
--noStrictGenericChecks |
|
|
禁用对函数类型中的泛型签名的严格检查。 | ||
--noUncheckedIndexedAccess |
|
|
使用索引访问时将 | ||
--noUncheckedSideEffectImports |
|
|
检查副作用导入。 | ||
--noUnusedLocals |
|
|
未读取局部变量时启用错误报告。 | ||
--noUnusedParameters |
|
|
未读取函数参数时引发错误。 | ||
--out |
|
|
已弃用的设置。改用 | ||
--outDir |
|
|
为所有触发的文件指定一个输出文件夹。 | ||
--outFile |
|
|
指定一个文件,将所有输出打包到一个 JavaScript 文件中。如果 | ||
--paths |
|
|
指定一组将导入重新映射到其他查找位置的条目。 | ||
--plugins |
|
|
指定要包含的语言服务插件列表。 | ||
--preserveConstEnums |
|
|
禁用在生成的代码中擦除 | ||
--preserveSymlinks |
|
|
禁用解析符号链接到他们的真实路径。这与 node 中的相同标志相关。 | ||
--preserveValueImports |
|
|
在 JavaScript 输出中保留未使用的导入值,否则这些值将被删除。 | ||
--preserveWatchOutput |
|
|
在监视模式下禁用擦除控制台。 | ||
--pretty |
|
|
在 TypeScript 的输出中启用颜色和格式,以使编译器错误更易于阅读。 | ||
--reactNamespace |
|
|
指定为 | ||
--removeComments |
|
|
禁用触发注释。 | ||
--resolveJsonModule |
|
|
启用导入 .json 文件。 | ||
--resolvePackageJsonExports |
|
|
解析包导入时使用 package.json 'exports' 字段。 | ||
--resolvePackageJsonImports |
|
|
解析导入时使用 package.json 'imports' 字段。 | ||
--rootDir |
|
Computed from the list of input files. |
在源文件中指定根文件夹。 | ||
--rootDirs |
|
Computed from the list of input files. |
解析模块时允许将多个文件夹视为一个。 | ||
--skipDefaultLibCheck |
|
|
跳过 TypeScript 中包含的类型检查 .d.ts 文件。 | ||
--skipLibCheck |
|
|
跳过类型检查所有 .d.ts 文件。 | ||
--sourceMap |
|
|
为触发的 JavaScript 文件创建源映射文件。 | ||
--sourceRoot |
|
|
指定调试器查找参考源代码的根路径。 | ||
--stopBuildOnErrors |
|
|
在上游项目出错时跳过构建下游项目。 | ||
--strict |
|
|
启用所有严格的类型检查选项。 | ||
--strictBindCallApply |
|
|
检查 | ||
--strictBuiltinIteratorReturn |
|
|
内置迭代器使用未定义的 TReturn 类型实例化,而不是任何类型。 | ||
--strictFunctionTypes |
|
|
分配函数时,检查以确保参数和返回值是子类型兼容的。 | ||
--strictNullChecks |
|
|
在类型检查时,请考虑 | ||
--strictPropertyInitialization |
|
|
检查已声明但未在构造函数中设置的类属性。 | ||
--stripInternal |
|
|
禁用在 JSDoc 注释中包含 | ||
--suppressExcessPropertyErrors |
|
|
在创建对象字面期间禁用溢出属性错误的报告。 | ||
--suppressImplicitAnyIndexErrors |
|
|
索引缺少索引签名的对象时抑制 | ||
--target |
|
|
为触发的 JavaScript 设置 JavaScript 语言版本并包含兼容的库声明。 | ||
--traceResolution |
|
|
| ||
--tsBuildInfoFile |
|
|
用于存储 | ||
--typeRoots |
|
|
指定多个像 | ||
--types |
|
|
指定要包含的类型包名称,而不在源文件中引用。 | ||
--useDefineForClassFields |
|
|
触发符合 ECMAScript 标准的类字段。 | ||
--useUnknownInCatchVariables |
|
|
默认 catch 子句变量为 | ||
--verbatimModuleSyntax |
|
|
不要转换或省略任何未标记为仅类型的导入或导出,确保它们以基于 'module' 设置的输出文件格式写入。 |
相关内容
¥Related
-
每个选项都在 TSConfig 参考手册 中进行了充分解释。
¥Every option is fully explained in the TSConfig Reference.
-
了解如何使用
tsconfig.json
文件。¥Learn how to use a
tsconfig.json
file. -
了解如何在 MSBuild 项目 中工作。
¥Learn how to work in an MSBuild project.