我想写一个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 question和this answer,但似乎都没有产生可读的JS文件,就像上面的打字稿示例一样。
答案 0 :(得分:6)
正如@SetLadd提到的那样https://github.com/dart-lang/dev_compiler是为此目的而建的(除了其他人)。一些人报告他们已经能够在一段时间内产生可用的输出。
dev_compiler有一个命令行工具dartdevc
。
pub global activate dev_compiler
pub global run dartdevc -o out main.dart
或dartdevc -o out main.dart
(具体取决于您的路径设置)。
有关详细信息,请参阅https://github.com/dart-lang/dev_compiler/blob/master/USAGE.md 答案 1 :(得分:2)
The Dart Dev Compiler(DDC)是一个实验性的开发工具和转换器 今天还处于初期阶段 初步提交于2014年11月17日。
DDC尝试尽可能干净地映射到惯用的EcmaScript 6(ES6)。
也许有一天我们可以充满信心地说:“这是一个成熟的开发工具和转换器”,但目前DDC还处于初期阶段。