TypeScriptCompiler
API
TypeScriptCompiler 类
表示一个增量 TypeScript 编译器
构造函数
new TypeScriptCompiler
初始化新的编译器
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
(可选)options | 附加选项 展开子属性
默认值: | |
属性
| 属性名 | 说明 | 类型 |
|---|---|---|
baseDir只读 | 获取基路径 | string |
configFilePaths只读 | 获取已读取的配置文件路径 | |
compilerOptions只读 | 获取全局默认的编译器选项 展开子属性
| |
compilerHost只读 | 获取使用的 TypeScript 编译器宿主对象 | |
configFileNames(可选)只读 | 获取在每个文件夹读取的配置文件名,默认为 [ | string[] |
plugins(可选) | 获取自定义的插件 展开子属性
| |
renameModuleName(可选) | 获取自定义模块重命名函数 | (moduleName: string, sourceFile: |
方法
use
载入指定的插件
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
plugin | 要载入的插件 展开子属性
| |
返回值
voidcompile
编译一段 TypeScript 代码到 JavaScript
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
content | 要编译的源码,如果未指定则根据路径读取 | string |
(可选)fileName | 源码的路径,用于查找和该路径相关的配置以及解析源码中导入的相对路径,要编译 JSX,文件名必须以 | string |
(可选)checkErrors | 是否检查错误,如果为 默认值: | false | true | "transpileOnly" |
(可选)moduleName | 如果要生成 AMD 模块,则指定当前模块名 | string |
(可选)renameModuleName | 重命名导入模块名的回调函数 默认值: | (moduleName: string, sourceFile: |
(可选)options | 针对当前文件的编译器选项 展开子属性
| |
返回值
createProgram
创建用于编译指定文件的工程对象
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
fileName | 文件的路径,如果路径为空,则文件内容必须不能为空 | string |
(可选)content | 文件的内容,如果未指定则根据路径读取 | string |
(可选)options | 针对当前文件的编译器选项 展开子属性
| |
返回值
ProgramtoPath
返回内部使用的完整绝对路径
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
fileName | 原始文件名 | string |
返回值
PathgetCompilerOptions
获取指定路径对应的编译器选项
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
path | 要查找的路径 | string |
返回值
CompilerOptionsgetCustomTransformers
获取自定义转换器,如果转换器为空则返回 undefined
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
program | 当前要转换的程序 | |
返回值
CustomTransformersemitUpdate
通知指定的文件已更新
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
path | 修改的文件绝对路径 | string |
返回值
voidformatErrors
格式化诊断信息
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
errors | 要格式化的对象 展开子属性
| |
返回值
stringgetSourceFile
获取指定路径对应的源文件对象
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
fileName | 文件的路径 | string |
返回值
SourceFilegetCurrentProgram
获取上一次编译时创建的工程对象
返回值
ProgramresolveModuleName
使用内置的解析规则解析模块
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
moduleName | 要解析的模块名 | string |
containingFile | 所在的文件 | string |
(可选)redirectedReference | 重定向的引用 展开子属性
| |
返回值
ResolvedModuleWithFailedLookupLocationsresolveJSModuleName
使用内置的解析规则解析 JS 模块
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
moduleName | 要解析的模块名 | string |
containingFile | 所在的文件 | string |
返回值
stringTypeScriptCompilerOptions 接口
表示 TypeScript 编译器的附加选项
属性
| 属性名 | 说明 | 类型 |
|---|---|---|
baseDir | 要使用的基路径,将用于查找配置以及依赖的模块 | string |
configFile | 要读取的
| string | string[] |
compilerOptions | 编译器的选项,这里设置的选项会覆盖 展开子属性
| |
compilerHost | 自定义编译器宿主对象 展开子属性
| |
transpileOnly | 是否仅转换代码但不进行类型检查,启用后将可以大幅提升编译性能 | boolean |
renameModuleName | 自定义重命名模块名的逻辑 | (moduleName: string, sourceFile: |
getCustomTransformers | 获取自定义转换器 | (program: |
plugins | 自定义转换器插件 展开子属性
| |
TypeScriptCompilerPlugin 接口
表示一个 TypeScript 插件
属性
| 属性名 | 说明 | 类型 |
|---|---|---|
[option: | any | |
factory | 返回转换器的工厂函数 | (program: |
transform | 插件模块名 | string |
import | 从插件模块中导入的名称 | string |
type | 从插件模块中导入的类型 | "compilerOptions" | "program" | "raw" | "config" | "checker" |
after | 是否应该在内置 JS 转换器之后执行转换器 | boolean |
afterDeclarations | 是否应该在生成 .d.ts 文件之后执行转换器 | boolean |
TypeScriptCompileResult 接口
表示 TypeScript 编译结果
属性
| 属性名 | 说明 | 类型 |
|---|---|---|
content | 生成的 JavaScript 代码 | string |
sourceFile | 当前文件的源文件对象 | |
program | 本次使用的编译对象 | |
sourceMap(可选) | 生成的源映射的内容 | string |
declaration(可选) | 生成的声明文件内容 | string |
errors(可选) | 生成时累积的错误 展开子属性
| |
readTSConfig
读取指定的 tsconfig.json,如果配置文件不存在则返回 undefined
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
path | 要读取的配置 | string |
(可选)configFilePaths | 如果传递了空集合,则返回所有已读取的文件路径 | |
返回值
CompilerOptionsnormalizeCompilerOptions
规范化 TypeScript 编译器选项对象
参数
| 参数名 | 说明 | 类型 |
|---|---|---|
options | 用户设置的选项 展开子属性
| |
baseDir | 解析相对地址的基路径 | string |
返回值
CompilerOptions