Max*_*ber 4 typescript typescript-compiler-api
TypeScript 最近添加了“--incremental”编译器选项。
如何将它与 TS 编译器 API 一起使用?
该程序不会生成 .tsbuildinfo 文件,第二次运行也不会更快:
import * as ts from "typescript";
const program = ts.createProgram(["./src/foo.ts"], {
incremental: true,
tsBuildInfoFile: "./tsbuildinfo"
});
const emit = program.emit();
console.log('emitted', JSON.stringify(emit)); // { emitSkipped: false, diagnostics: []}
Run Code Online (Sandbox Code Playgroud)
我认为 TS 实际上并没有关注 tsBuildInfo 文件的路径,因为如果我将选项设置tsBuildInfoFile为像“@@@@@@”这样的废话,那没有什么区别。
tsBuildInfoFile使用常规程序时将被忽略。您需要使用该ts.createIncrementalProgram函数创建一个程序。
例如:
import * as ts from "typescript";
const program = ts.createIncrementalProgram({
rootNames: ["./src/foo.ts"],
options: {
incremental: true,
tsBuildInfoFile: "./tsbuildinfo"
}
});
const emit = program.emit();
console.log('emitted', JSON.stringify(emit));
Run Code Online (Sandbox Code Playgroud)
另外,如果您正在创建主机,则似乎您可能需要使用该ts.createIncrementalCompilerHost函数来创建它。
| 归档时间: |
|
| 查看次数: |
1954 次 |
| 最近记录: |