给定一个这样的对象:import * as ts from \'typescript\';const options: ts.CompilerOptions = { target: ts.ScriptTarget.ESNext, moduleResolution: ts.ModuleResolutionKind.NodeJs} 如何...
给定一个这样的对象:
import * as ts from "typescript";
const options: ts.CompilerOptions = {
target: ts.ScriptTarget.ESNext,
moduleResolution: ts.ModuleResolutionKind.NodeJs
}
我如何才能生成像这样的人类可读的 tsconfig.json?
{
"target": "ESNext",
"moduleResolution": "NodeJs"
}
或者,如果有办法反过来(从人类可读的 tsconfig 输入解析 ts.CompilerOptions 对象),我就可以解决我的问题。
我问这个问题是因为我试图使用同一个对象来生成 tsconfig.json 和一个要输入 TS Compiler API 的对象。
没有办法啊!
但考虑到您要解决的问题,看起来有一个解决方案:
或者,如果有办法反过来(从人类可读的 tsconfig 输入解析 ts.CompilerOptions 对象),我就可以解决我的问题。
我问这个问题是因为我试图使用同一个对象来生成 tsconfig.json 和一个要输入 TS Compiler API 的对象。
您可以从 JSON 样式的配置对象开始,其中没有任何值是枚举,并使用它来生成 tsconfig.json。
然后使用 ts.convertCompilerOptionsFromJson
将编译器选项从 JSON 样式对象转换为 ts.CompilerOptions
.
举个例子,下面是 gulp-typescript 进行转换的方式 :
import * as ts from "typescript";
// later in the file
const settingsResult = typescript.convertCompilerOptionsFromJson(settings, projectDirectory);
if (settingsResult.errors) {
reportErrors(settingsResult.errors, typescript);
}