Как использовать Dart с Webstorm 6 в Windows (запуск Codelab из Google IO 2013)

Я искал, но не нашел других сообщений, отдаленно связанных с моим вопросом. По сути, я пытаюсь следовать Dart Codelab из Google IO 2013, который я нашел здесь: http://goo.gl/4E21M

Я пытаюсь использовать подключаемый модуль Dart в Webstorm 6, который я настраиваю, используя инструкции здесь: http://blog.jetbrains.com/webide/2012/12/dart-support-in-webstorm-6./

Наконец, я делаю это на Windows 8.

Мой build.dart:

import 'package:web_ui/component_build.dart';
import 'dart:io';
import 'dart:async';

void main() {
  var args = new List.from(new Options().arguments);
  build(new Options().arguments, ['web/index.html'])
    .then((_) => print('Build finished!'));
}

Мой pubspec.yaml:

name: writer
version: 0.0.1
author: Dart Team <[email protected]>
description: This is the finished version of the application built in the Google I/O 2013 Dart Codelab.
homepage: https://github.com/dart-lang/io-2013-dart-codelab
dependencies:
  intl: any
  web_ui: any

Тем не менее, когда я пытаюсь запустить код шага 1, я вижу в своем журнале событий: Ошибка при запуске теста: build.dart: Отсутствует оператор библиотеки в build.dart.

Так что это кажется достаточно простым... за исключением того, что я не могу понять, какой библиотечный оператор должен быть там, которого нет... единственная строка кода, которую я удалил, была:

#!/usr/bin/env dart

Потому что я пытаюсь запустить это в Windows, а это для среды UNIX.

Есть предположения? Я очень ценю любую помощь, которую вы можете оказать, чтобы начать работу с этой Codelab в Webstorm (которая на СВЕТОВЫЕ ГОДЫ более совершенна, чем редактор Dart по умолчанию). Другими словами, я ГОРАЗДО предпочитаю Webstorm — если я могу в нем что-то настроить и запустить.

Заранее спасибо!


person Abe    schedule 23.05.2013    source источник
comment
Они могут просто захотеть library build; в начале файла, хотя, поскольку у меня нет Webstorm, я не могу сказать наверняка.   -  person Pixel Elephant    schedule 23.05.2013
comment
какую версию Dart SDK вы используете? вы можете запустить dart --version, чтобы узнать.   -  person Zdeslav Vojkovic    schedule 23.05.2013
comment
@PixelElephant, похоже, это помогло. По крайней мере, я больше не получаю ошибку. Теперь мне просто нужно выяснить, как на самом деле запустить файл index.html. Все, что я вижу при отладке, это страница с ошибкой (веб-страница не найдена) в Chromium. Спасибо за помощь!   -  person Abe    schedule 23.05.2013
comment
@Abe - build.dart выводит «построенный» html-файл в web\out\index.html - вы можете попробовать запустить его в Dartium. У вас нет Дартиума? Сначала вам нужно запустить ...bootstrap.dart через dart2js.   -  person Chris Buckett    schedule 23.05.2013
comment
@ZdeslavVojkovic, у меня 0.5.9.0_r22879.   -  person Abe    schedule 23.05.2013
comment
@ КрисБакетт, да. Вот оно, и это сработало! Фантастический. Спасибо за помощь! Есть ли где-нибудь еще документация, где я могу больше узнать об этом (т. е. куда идут определенные файлы и почему?)? Еще раз спасибо за вашу помощь. Теперь я могу с удовольствием играть в дартс в Webstorm!   -  person Abe    schedule 23.05.2013
comment
Этот, вероятно, объяснит, что происходит в фоновом режиме: dartlang.org/articles/ web-ui/tools.html, и этот шаг в руководстве содержит несколько диаграмм и дополнительные пояснения: dartlang.org/docs/tutorials/web-ui   -  person Chris Buckett    schedule 23.05.2013
comment
@ChrisBuckett Потрясающе. Я покопаюсь в этих ссылках. И еще раз спасибо!   -  person Abe    schedule 24.05.2013


Ответы (1)


Благодаря @ChrisBuckett и @PixelElephant на мой вопрос был дан ответ. Чтобы запустить Codelab из Google IO 2013, шаг 1, мне пришлось включить «сборку библиотеки»; вверху моего файла build.dart. Чтобы увидеть вывод после сборки, мне пришлось заглянуть в папку /out и «запустить» файл index.html в Chromium.

Эта комбинация сработала.

Мой исправленный файл build.dart:

library build;

import 'package:web_ui/component_build.dart';
import 'dart:io';
import 'dart:async';

void main() {
  var args = new List.from(new Options().arguments);
  build(args, ['web/index.html'])
    .then((_) => print('Build finished!'));
}
person Abe    schedule 24.05.2013