Как развернуть приложение Dart Polymer на Javascript с помощью dart2js

У меня возникла проблема при развертывании кода Dart с использованием Polymer to Javascript. Я создал полимерное приложение с помощью DartEditor и сделал простой пример. Этот пример работает в Dartium, но когда я пытаюсь собрать его как приложение Polymer (на Javascript) и запустить, приложение не работает.

Как я должен преобразовать приложение Dart Polymer в Javascript?

Вот пример кода, который я сделал, который терпит неудачу:

пример.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Example</title>

    <link rel="import" href="example-polymer.html">
    <script type="application/dart">export 'package:polymer/init.dart';</script>
    <script src="packages/browser/dart.js"></script>
  </head>
  <body>
      <div is="example-polymer"></div>
  </body>
</html>

пример-polymer.html

<polymer-element name="example-polymer" extends="div">
  <template>
    <div>
      <input on-change="{{ change }}"/><br>
      <span>Text : {{ text }}</span>
    </div>
  </template>
  <script type="application/dart" src="example-polymer.dart"></script>
</polymer-element>

пример-polymer.dart

import 'package:polymer/polymer.dart';
import 'dart:html';

@CustomTag('example-polymer')
class ExampleBolymer extends DivElement with Polymer, Observable {
  @published String text = "" ;

  ExampleBolymer.created() : super.created() {
  }

  void change(Event e, var detail , InputElement target) {
    text = target.value;
  }
}

person user3069668    schedule 05.12.2013    source источник


Ответы (1)


Добавить

transformers:
- polymer:
    entry_points:
    - web/example.html

к вашему pubspec.yaml и позвоните

pub build

Ваши файлы должны находиться в каталоге web вашего пакета.

person Günter Zöchbauer    schedule 05.12.2013
comment
Он генерирует файлы в каталог out. А после компиляции в JS все равно не работает :( - person romanos; 30.01.2014
comment
Вы запускали его из DartEditor или запускали dart2js? Меню AFAIK DartEditor для запуска dart2js не обновлены (WIP). У меня был лучший опыт вызова pub build или pub build --mode=debug в командной строке в корневом каталоге пакета. - person Günter Zöchbauer; 30.01.2014
comment
Я думаю, что это известная проблема. pub build не работает, если в вашем веб-каталоге есть файлы из предыдущего run as JavaScript, например, с расширением .bootstrap.dart. Удалите все сгенерированные файлы из вашего каталога web или из всего каталога web/out, если он существует, и снова запустите pub build. - person Günter Zöchbauer; 30.01.2014