dart 可以生成可读的 javascript 库吗?

Can dart produce readable javascript libraries?

目标

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

尝试使用打字稿,但它不支持混入(手册上说支持,但 compiler/specifications 没有任何与混入相关的内容)。

打字稿

在打字稿中,以下代码:

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

编译为:

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

然后客户可以简单地调用:

var greeter = new Greeter("world");

飞镖

dart 可以做类似的事情吗?谁能告诉我怎么做?

主要目标是生成的 javascript 代码是可读的,最好将所有 dart 附加功能驻留在不同的脚本中。

我看过 this question and this answer,但似乎都没有生成可读的 JS 文件,就像上面的打字稿示例一样。

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

dev_compiler 有一个命令行工具 dartdevc

The Dart Dev Compiler (DDC) 是一种实验性开发工具和转译器。
今天还处于非常早期的阶段。
初始提交时间为 2014 年 11 月 17 日。

DDC 尝试尽可能干净地映射到惯用的 EcmaScript 6 (ES6)。

也许有一天我们可以自信地说:"It is a mature development tool and transpiler"但目前DDC还处于非常早期的阶段。