Javascript 获取文件中的TypeScript类并读取其中的单个部分

Javascript 获取文件中的TypeScript类并读取其中的单个部分,javascript,parsing,typescript,Javascript,Parsing,Typescript,是否有一个插件(比如Gulp),我可以解析一个typescript文件并读取单个部分(比如一个成员、一个函数、注释),等等 所以我有一个这样的类,比如说/src/Foo.ts: class Foo { static name: string = 'name'; /** * This is a comment */ private bar: string; /** * This is also a comment */

是否有一个插件(比如Gulp),我可以解析一个typescript文件并读取单个部分(比如一个成员、一个函数、注释),等等

所以我有一个这样的类,比如说
/src/Foo.ts

class Foo {
    static name: string = 'name';

    /**
     * This is a comment
     */
    private bar: string;

    /**
     * This is also a comment
     */
    public getBar(): string {
        return this.bar;
    }
}
我想在TypeScript或JavaScript(在gulp插件中)中做的是读取这个文件,解析它,然后访问这个类的成员

伪代码:

var classTree = tsloader.parse('./src/Foo.ts');
var c = classTree.getClass(); // Returns a class object tree

for(var i = 0; i < c.getMembers().length; i++) {
    c.getMembers()[i].getType(); // Returns the type
    c.getMembers()[i].getComment(); // Returns the comment

    // etc.
}

// etc.
var classTree=tsloader.parse('./src/Foo.ts');
var c=classTree.getClass();//返回类对象树
for(var i=0;i
是否有任何库或其他东西已经能够做到这一点?

Jed mao有一个优秀(但未得到充分认可)的项目,为commonjs消费打开TypeScipt编译器api:

它附带一个定义文件:

它内部的逻辑非常简单:它基本上只是用
module.exports=TypeScript打开
tsc.js

用法 您基本上需要研究TypeScript是如何工作的。但是
PullTypeSymbol
具有
public getMembers():PullSymbol[]
似乎值得在TypeScript源代码中搜索()

Jed mao有一个优秀(但未得到充分赞赏)的项目,该项目为commonjs消费打开了TypeScipt编译器api:

它附带一个定义文件:

它内部的逻辑非常简单:它基本上只是用
module.exports=TypeScript打开
tsc.js

用法
您基本上需要研究TypeScript是如何工作的。但是
PullTypeSymbol
具有
public getMembers():PullSymbol[]
似乎值得在TypeScript源代码()中搜索。

谢谢您的好话,@basarat。您将遇到的一个巨大的复杂性是导入其他TypeScript文件的TypeScript文件。顺便说一句,TypeScript计划发布一个API。看见不过,目前情况将很困难。谢谢你的客气话,@basarat。您将遇到的一个巨大的复杂性是导入其他TypeScript文件的TypeScript文件。顺便说一句,TypeScript计划发布一个API。看见然而,就目前而言,事情将很困难。