TypeScriptCompiler
API
TypeScriptCompiler 类
表示一个增量 TypeScript 编译器
构造函数
new TypeScriptCompiler
初始化新的编译器
参数
参数名 | 说明 | 类型 |
---|---|---|
(可选)options | 附加选项 展开子属性
默认值: |
|
属性
属性名 | 说明 | 类型 |
---|---|---|
baseDir 只读 | 获取基路径 | string |
configFilePaths 只读 | 获取已读取的配置文件路径 |
|
compilerOptions 只读 | 获取全局默认的编译器选项 展开子属性
|
|
compilerHost 只读 | 获取使用的 TypeScript 编译器宿主对象 |
|
configFileNames (可选)只读 | 获取在每个文件夹读取的配置文件名,默认为 [ | string[] |
plugins (可选) | 获取自定义的插件 展开子属性
|
|
renameModuleName (可选) | 获取自定义模块重命名函数 | (moduleName: string, sourceFile: |
方法
use
载入指定的插件
参数
参数名 | 说明 | 类型 |
---|---|---|
plugin | 要载入的插件 展开子属性
|
|
返回值
void
compile
编译一段 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 | 针对当前文件的编译器选项 展开子属性
|
|
返回值
Program
toPath
返回内部使用的完整绝对路径
参数
参数名 | 说明 | 类型 |
---|---|---|
fileName | 原始文件名 | string |
返回值
Path
getCompilerOptions
获取指定路径对应的编译器选项
参数
参数名 | 说明 | 类型 |
---|---|---|
path | 要查找的路径 | string |
返回值
CompilerOptions
getCustomTransformers
获取自定义转换器,如果转换器为空则返回 undefined
参数
参数名 | 说明 | 类型 |
---|---|---|
program | 当前要转换的程序 |
|
返回值
CustomTransformers
emitUpdate
通知指定的文件已更新
参数
参数名 | 说明 | 类型 |
---|---|---|
path | 修改的文件绝对路径 | string |
返回值
void
formatErrors
格式化诊断信息
参数
参数名 | 说明 | 类型 |
---|---|---|
errors | 要格式化的对象 展开子属性
|
|
返回值
string
getSourceFile
获取指定路径对应的源文件对象
参数
参数名 | 说明 | 类型 |
---|---|---|
fileName | 文件的路径 | string |
返回值
SourceFile
getCurrentProgram
获取上一次编译时创建的工程对象
返回值
Program
resolveModuleName
使用内置的解析规则解析模块
参数
参数名 | 说明 | 类型 |
---|---|---|
moduleName | 要解析的模块名 | string |
containingFile | 所在的文件 | string |
(可选)redirectedReference | 重定向的引用 展开子属性
|
|
返回值
ResolvedModuleWithFailedLookupLocations
resolveJSModuleName
使用内置的解析规则解析 JS 模块
参数
参数名 | 说明 | 类型 |
---|---|---|
moduleName | 要解析的模块名 | string |
containingFile | 所在的文件 | string |
返回值
string
TypeScriptCompilerOptions 接口
表示 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 | 如果传递了空集合,则返回所有已读取的文件路径 |
|
返回值
CompilerOptions
normalizeCompilerOptions
规范化 TypeScript 编译器选项对象
参数
参数名 | 说明 | 类型 |
---|---|---|
options | 用户设置的选项 展开子属性
|
|
baseDir | 解析相对地址的基路径 | string |
返回值
CompilerOptions