2016-04-08 36 views

回答

4

Basic代码:

const fileNames = ["C:\\MyFile.ts"]; 
const compilerOptions: ts.CompilerOptions = { 
    // compiler options go here if any... 
    // look at ts.CompilerOptions to see what's available 
}; 
const program = ts.createProgram(fileNames, compilerOptions); 
const typeChecker = program.getTypeChecker(); 
const sourceFiles = program.getSourceFiles(); 

sourceFiles.filter(f => /MyFile\.ts$/.test(f.fileName)).forEach(sourceFile => { 
    ts.forEachChild(sourceFile, node => { 
     const declaration = node as ts.Declaration; 
     if (declaration.name) { 
      console.log(declaration.name.getText()); 
     } 
    }); 
}); 

所以,如果你提供了一个C:\MyFile.ts,如:

class MyClass {} 
interface MyInterface {} 

将输出MyClassMyInterface

找出超出我刚才所展示的一切是很多工作。对您来说,看看和/或帮助为this work in progress做出贡献可能会更有益。

+0

我不明白区域{/ *编译器选项去这里* /}。请解释它的意思是什么? –

+0

@AhmedRaza编译器选项,比如在tsconfig.json中找到的选项。该类型将是'ts.CompilerOptions'。我会更新我的答案。 –

+0

请分享与之相关的任何示例。 –

相关问题