在Dart M2(web_ui)中加载web组件

在Dart M2(web_ui)中加载web组件,dart,dart-webui,Dart,Dart Webui,在我的dart之旅中,我偶然发现了一个加载组件的“拦截器” 将我的组件定义如下: {{text}} 导入“包:web_ui/web_ui.dart”; 字符串类=“”; 字符串文本=“”; 类FooComponent扩展了WebComponent{ } 并参考组件,如下所示: 例子 例子 Dart的世界你好 void main(){} 我的构建脚本没有创建html文件(输出文件夹:foo.html.dart),我不确定要引用哪个文件 手册的声明性也不足以解决我的问题: 引用组件的定义(

在我的dart之旅中,我偶然发现了一个加载组件的“拦截器”

将我的组件定义如下:


{{text}}
导入“包:web_ui/web_ui.dart”;
字符串类=“”;
字符串文本=“”;
类FooComponent扩展了WebComponent{
}
并参考组件,如下所示:


例子
例子
Dart的世界你好

void main(){}
我的构建脚本没有创建html文件(输出文件夹:foo.html.dart),我不确定要引用哪个文件

手册的声明性也不足以解决我的问题:

引用组件的定义(foo.html)或其生成的输出(foo.html.dart)无效。我还通过检查仔细检查了这两个文件的路径,这两个文件都是用chromium下载的

我的最后一个问题: 此引用(link element href)是指向内部智能还是指向运行时可用的“物理”文件?如果是第二个,是哪一个(生成的(html/dart)还是源代码)

为了避免误解,我添加了一份回购清单:

foo
  packages
  examples
    assets
    dart.js
    example.html
  web
    out
      foo.html.dart
    foo.html
  build.dart

在主HTML文件中使用它的方式是正确的。您引用
foo.html
,因为引用的html文档需要用dwc编译。dwc将获取主HTML文件并编译它和它包含的所有组件。该组件完全编译为Dart,它们
.html
文件将不再使用

如果试图编辑example.html以包含组件,则需要编译
example.html
,而不是
foo.html
。您仍然会生成foo.html.dart,但也会生成
example.html.dart
和一个引导脚本来加载所有内容。

组件文件(
foo.html
)缺少
标记:


...
两个文件(
examples.html
foo.html
)必须位于相同的基本目录中:

web
  examples.html
  foo.html
  ...
然后,
examples.html
需要在
build.dart
中用作参数:

build(newoptions().arguments,['web/example.html']);
最后,
foo.html
(即,
web/foo.html
)必须是要链接的:



thx,胡安。你的答案是最准确的。不过,html和body标记不是必需的(只是对其进行了测试)。我还喜欢解决方案不必强制将组件添加到构建列表中,因为它已经通过“example.html”映射,并且也将被编译。在每一个细节上反对冗长。拇指提示:应将
examples
文件夹称为
example