2013-03-31 3 views
0

Как-то я не смог создать свой самый первый пример веб-компонентов Дартс. Проект очень прост и взят от Seth blog.Dart simple webcomponent confusion

Первый файл build.dart должен быть размещен в корневой папке проекта (не в папке web/) < - это правда?

Вот код:

Project 
\--ui 
    \-- test_component.html 

      <!DOCTYPE html> 
      <html lang="en"> 
      <body> 
      <element name="x-click-counter" constructor="CounterComponent" extends="div"> 
      <template> 
       <button on-click="increment()">Click me</button> 
       <span>(click count: {{count}})</span> 
      </template> 
      <script type="application/dart" src="test_component.dart"></script> 
      </element> 
      <!-- more below... --> 
      </body> 
     </html> 

    \-- test_component.dart 

     library test_component; 

     import 'package:web_ui/web_ui.dart'; 

     class CounterComponent extends WebComponent 
     { 
      int count = 0; 
      void increment(e) 
      { 
       count++; 
      } 
     } 

\-- web 
     \-- index.html 

      <!DOCTYPE html> 
      <html lang="en"> 
      <head> 
      <meta charset="utf-8"> 
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
      <link rel="components" href="ui/test_component.html"> 
      <title>Dart • TodoMVC</title> 
      </head> 
      <body> 
      <x-click-counter></x-click-counter> 
      <script type="application/dart">main() {}</script> 
      </body> 
     </html> 

\-- build.dart 

    import 'dart:io'; 
    import 'packages/web_ui/component_build.dart'; 

    void main() 
    { 
      build(new Options().arguments, ['web/index.html']); 
    } 

Только после того, как я переехал build.dart к корневой папке странное произошла ошибка:

--- 00:51:50 01/04/2013 build.dart - не машина --changed = Web \ index.html --- файл:/C: /Projects/ProtonUiComponents/build.dart build.dart возвращается код ошибки 255

Uncaught ошибка: Class '_file' не имеет метод экземпляра 'open' с соответствующими аргументами.

NoSuchMethodError: неправильное количество аргументов, переданных в метод с именем 'открытой' Получателя: экземпляр '_file @ 0x1da10ec4' Попробованной вызова: открыт (режим: экземпляр 'FileMode') Найдено: открыт (режим) Stack Трассировка:

#0  Object.noSuchMethod (dart:core-patch:1884:25) 
#1  ConsoleFileSystem.writeString (file:///C:/Projects/ProtonUiComponents/packages/web_ui/src/file_system/console.dart:22:43) 
#2  writeFile (file:///C:/Projects/ProtonUiComponents/packages/web_ui/dwc.dart:103:27) 
#3  emitFiles.<anonymous closure> (file:///C:/Projects/ProtonUiComponents/packages/web_ui/dwc.dart:91:35) 
#4  List.forEach (dart:core-patch:1219:8) 
#5  emitFiles (file:///C:/Projects/ProtonUiComponents/packages/web_ui/dwc.dart:91:18) 
#6  run.<anonymous closure>.<anonymous closure> (file:///C:/Projects/ProtonUiComponents/packages/web_ui/dwc.dart:85:29) 
#7  _ThenFuture._sendValue (dart:async:463:24) 
#8  _FutureImpl._setValue (dart:async:361:26) 
#9  _FutureListenerWrapper._sendValue (dart:async:221:21) 
#10  _FutureImpl._setValue (dart:async:361:26) 
#11  _FutureImpl._setOrChainValue (dart:async:437:16) 
#12  _ThenFuture._sendValue (dart:async:473:21) 
#13  _FutureImpl._setValue (dart:async:361:26) 
#14  _FutureListenerWrapper._sendValue (dart:async:221:21) 
#15  _FutureImpl._setValue (dart:async:361:26) 
#16  _FutureImpl._setOrChainValue (dart:async:437:16) 
#17  _ThenFuture._sendValue (dart:async:473:21) 
#18  _FutureImpl._setValue (dart:async:361:26) 
#19  _CompleterImpl.complete (dart:async:190:21) 
#20  _FutureImpl._FutureImpl.wait.<anonymous closure> (dart:async:273:29) 
#21  _ThenFuture._sendValue (dart:async:463:24) 
#22  _FutureImpl._setValue (dart:async:361:26) 
#23  _CatchErrorFuture._sendValue (dart:async:485:14) 
#24  _FutureImpl._setValue (dart:async:361:26) 
#25  Stream.reduce.<anonymous closure> (dart:async:699:23) 

Если я бегу build.dart вручную я получаю и ошибка в dwc.dart:

type 'ConsoleFileSystem' is not a subtype of type 'FileSystem' of 'fileSystem'.

то index.html может не запускаться вовсе (не в Dartium ни в Javascript) с ошибкой Dart Editor:

Dart error

Что я делаю неправильно?

Update:

  • Я бегу на Windows 7 x64
  • Dart Editor версия 0.4.2_r20259
  • Dart SDK версии 0.4.2.8_r20259
+0

Какую версию Dart-редактор вы используете? Мое первое предположение было бы несоответствие версии (слишком старая версия редактора или аналогичная). –

+0

Добавлено в 'update' – Jasper

+1

Текущая версия Dart-Editor - 20602 (http://www.dartlang.org/docs/editor/). Попробуйте обновить и проверьте, сохраняется ли ошибка. Насколько я вижу на скриншоте, рядом с кнопкой «Отправить отзыв» есть зеленая стрелка. Таким образом, также должно быть доступно автоматическое обновление. –

ответ

1

Текущая версия редактора (как от 1 апреля 2013 года) составляет 20602. Обновление до последней версии должно исправить это.

http://dartlang.org/docs/editor