2016-04-08 69 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

請分享與之相關的任何示例。 –

相關問題