飞镖可以生成可读的JavaScript库吗?

Izh*_*aki 7 javascript dart dart2js

目标

我想写一个javascript库(框架),但需要OOP和mixins.

是打算使用打字稿,但它不支持mixins(手册说它确实如此,但编译器/规范没有任何与mixin相关的东西).

打字稿

在typescript中,以下代码:

class Greeter {
    greeting: string;
    constructor(message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}
Run Code Online (Sandbox Code Playgroud)

编译为:

var Greeter = (function () {
    function Greeter(message) {
        this.greeting = message;
    }
    Greeter.prototype.greet = function () {
        return "Hello, " + this.greeting;
    };
    return Greeter;
})();
Run Code Online (Sandbox Code Playgroud)

然后客户可以简单地致电:

var greeter = new Greeter("world");
Run Code Online (Sandbox Code Playgroud)

飞镖可以做类似的事吗?有人能说明怎么样?

主要目标是生成的javascript代码是可读的,最好是所有的dart extras驻留在不同的脚本中.

我已经看到了这个问题这个答案,但似乎都没有产生可读的JS文件,就像上面的打字稿示例一样.

Gün*_*uer 6

正如@SetLadd所提到的,https://github.com/dart-lang/dev_compiler是为此目的而构建的(除此之外).一些人报告他们已经能够在一段时间内产生可用的输出.

dev_compiler有一个命令行工具dartdevc.