Typescript 摩纳哥编辑器:自动创建类型脚本声明

Typescript 摩纳哥编辑器:自动创建类型脚本声明,typescript,declaration,tsc,monaco-editor,Typescript,Declaration,Tsc,Monaco Editor,我正在使用,我想知道是否有可能用typescript代码创建typescript声明(*.d.ts) 类似这样的伪代码: var myTsCode = "function greeter(person: string): string { return 'Hello, ' + person; }"; var myDTS = monaco.languages.typescript.createdts(myTsCode); // returns 'declare function greeter(p

我正在使用,我想知道是否有可能用typescript代码创建typescript声明(*.d.ts)

类似这样的伪代码:

var myTsCode = "function greeter(person: string): string { return 'Hello, ' + person; }";
var myDTS = monaco.languages.typescript.createdts(myTsCode); // returns 'declare function greeter(person: string): string;'

monaco.languages.typescript.typescriptDefaults.addExtraLib(myDTS, "filename/my.d.ts");
(基本上与我可以通过命令行执行的方式相同:“tsc myTsCode.ts-d”)


提前感谢和问候。。。Peter

是的,显然这是可能的-试试这个(不完整的代码):

然后

数组中的第二个文件是
1.d.ts


它还可以通过
compilerOptions.sourceMap=true生成
1.js.map
源映射文件

是的,显然这是可能的-试试这个(不完整的代码):

然后

数组中的第二个文件是
1.d.ts

它还可以通过
compilerOptions.sourceMap=true生成
1.js.map
源映射文件

let compilerOptions = (monaco.languages.typescript.typescriptDefaults as any)
    .getCompilerOptions(); // getCompilerOptions is not "public"
compilerOptions.declaration = true;
monaco.languages.typescript.typescriptDefaults.setCompilerOptions(compilerOptions);
getWorker.then((worker: any) => {
    worker(model.uri)
        .then((client: any) => {
            client.getEmitOutput(model.uri.toString()).then((result: any) => {
                console.log(result); // result.outputFiles[1].text
            });
        });
});