到目前为止,我的小Dart / Polymer样品效果很好。 (GitHub)
这是我使用的yaml文件:
name: PolymerHelloWorld
environment:
sdk: any
dependencies:
browser: any
polymer: any
shadow_dom: any
mdv: any
transformers:
- polymer:
entry_points:
- web/index.html
- web/hello-world/hello-world.html
- web/stopwatch/stopwatch.html
“pub build”产生:(在GH下再次生活)
根据我的理解,我现在有2个web组件:hello-world和stopwatch
我做了第二个项目,完全独立于PolymerHelloWorld。 这是index.html:
我收到此错误消息
pub build
Building PolymerSecondWorld...
[Error from polymer (Linter) on PolymerSecondWorld|web/index.html]:
web/index.html:4:5: absolute paths not allowed: "https://rawgithub.com/MikeMitterer/DART-Sample-PolymerHelloWorld/master/build/hello-world/hello-world.html"
这不是webcomponents的想法吗?我错过了什么吗?
[更新]
我在GH-Repo中添加了DART-Sample-PolymerElementConsumer。它包括整个聚合物的东西......这个样品不一个Dart样品。它使用聚合物来导入组件。至少 - 它试图......
以下是尝试运行的HTML:
https://rawgithub.com/MikeMitterer/DART-Sample-PolymerElementConsumer/master/web/index.html
CODEVIEW:
https://raw.github.com/MikeMitterer/DART-Sample-PolymerElementConsumer/master/web/index.html
HTML-Page显示没有错误消息 - 什么都没有。只是标题,但没有来自webcomponent。
答案 0 :(得分:0)
如果要导入Polymer元素,则必须使用Dart包(例如pub.dartlang.org)
您将包添加到pubspec.yaml
以将包导入项目中
然后您可以从packages目录中导入元素/组件。
聚合物对Dart项目中的导入路径也非常敏感 而你最终尝试的东西将无效 (这可以在JavaScript中工作) 但这需要执行在运行时加载的代码(包含在加载的组件中) 哪个Dart还不支持。所有代码都必须在编译时可用。
关于这个主题的一些讨论:
修改强>
我看了你的代码并试图理解你的评论并相应地扩展了我的答案。
为了能够从包中导入组件,组件必须位于要导入的包的lib
目录中。
使用(导入)元素的网页必须是Dart项目(包),它在'pubspec.yaml'中导入组件包。对于Web应用程序(index.html,...)web
是包中的正确目录。