Может ли dart создавать читаемые библиотеки javascript?

Цель

Я хотел бы написать библиотеку (фреймворк) javascript, но мне нужны ООП и миксины.

Делал ставку на машинописный текст, но он не поддерживает миксины (в руководстве сказано, что это так, но в компиляторе / спецификациях нет ничего, что связано с миксинами).

Машинопись

В машинописном тексте следующий код:

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 был читабельным, желательно со всеми дополнительными функциями дротика, находящимися в другом скрипте.

Я видел этот вопрос и этот answer, но, похоже, ни один из них не дает читаемый файл JS, как в приведенном выше примере машинописного текста.


person Izhaki    schedule 19.01.2016    source источник
comment
Вероятно, вы захотите использовать новый компилятор Dart dev (DDC). Насколько я могу судить, это еще не бета-версия, но одна из ее целей - выводить читаемый js. github.com/dart-lang/dev_compiler/blob/master/README. мкр   -  person Seth Ladd    schedule 19.01.2016


Ответы (2)


Как упоминал @SetLadd, https://github.com/dart-lang/dev_compiler был создан для этого цель (у других). Некоторые сообщили, что уже некоторое время назад они могли выдавать полезную продукцию.

dev_compiler имеет инструмент командной строки dartdevc.

  • установить DART SDK
  • запустить 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
person Günter Zöchbauer    schedule 19.01.2016

The Dart Dev Compiler (DDC) - это экспериментальный инструмент разработки и транспилятор.
Он находится по адресу очень ранняя стадия сегодня.
Первоначальная фиксация произошла 17 ноября 2014 года.

DDC пытается максимально аккуратно отобразить идиоматический EcmaScript 6 (ES6).

Возможно, когда-нибудь наступит день, когда мы сможем с уверенностью сказать: «Это зрелый инструмент разработки и транспилятор», но в настоящее время DDC все еще находится на очень ранней стадии.

person Community    schedule 19.01.2016