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

时间:2016-01-19 00:58:04

标签: javascript dart dart2js

目标

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

正在使用打字稿,但它并不支持mixins(手册说它确实如此,但编译器/规范没有任何与mixin相关的内容)。

打字稿

在打字稿中,以下代码:

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");

达特

飞镖可以做类似的事吗?有人能说明一下吗?

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

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

2 个答案:

答案 0 :(得分:6)

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

dev_compiler有一个命令行工具dartdevc

答案 1 :(得分:2)

The Dart Dev Compiler(DDC)是一个实验性的开发工具和转换器 今天还处于初期阶段 初步提交于2014年11月17日。

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

也许有一天我们可以充满信心地说:“这是一个成熟的开发工具和转换器”,但目前DDC还处于初期阶段。