ダーツの旅を通して、コンポーネントのロードに関して「ブロッカー」に出くわしました。
コンポーネントを次のように定義している間:
<!DOCTYPE html>
<element name="x-foo" constructor="FooComponent" extends="button">
<template>
<button type="button" class="btn {{classes}}"> {{text}} </button>
</template>
<script type="application/dart">
import 'package:web_ui/web_ui.dart';
String classes = '';
String text = '';
class FooComponent extends WebComponent {
}
</script>
</element>
次のようにコンポーネントを参照します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>example</title>
<link rel="stylesheet" href="assets/css/bootstrap.min.css">
<!-- '../web/foo.html' or '../web/out/foo.html.dart' -->
<link rel="components" href='foo.html'>
</head>
<body>
<h1>example</h1>
<p>Hello world from Dart!</p>
<x-foo></x-foo>
<script type="application/dart">void main() { }</script>
<script type="text/javascript" src="dart.js"></script>
</body>
</html>
ビルド スクリプトが html ファイル (出力フォルダー: foo.html.dart) を作成しないため、どのファイルを参照する必要があるかわかりません。
マニュアルも私の問題を解決するのに十分なほど宣言的ではありません: http://www.dartlang.org/articles/dart-web-components/spec.html#loading-components
コンポーネントの定義 (foo.html) または生成された出力 (foo.html.dart) の参照が機能していません。また、検査を通じて両方のファイルのパスを再確認しました。これにより、両方のファイルがクロムでダウンロードされました。
私の最後の質問: この参照 (リンク要素 href) は、実行時に内部インテリジェンスまたは「物理的な」利用可能なファイルを指していますか? 次に、どちら (生成 (html/dart) またはソース) ですか?
誤解を避けるために、レポのリストを追加しました。
foo
packages
examples
assets
dart.js
example.html
web
out
foo.html.dart
foo.html
build.dart