我一直在关注Dart web-ui codelab。当我将Dart源代码嵌入到Web组件.html
文件中时,我没有在Dart编辑器中获得任何静态分析或自动完成支持(这是http://code.google.com/p/dart/issues/detail?id=7449的开放式错误)。因此,我正在通过使用src属性寻找临时解决方法。如何链接到包含我的Web组件的构造函数的外部Dart库?
根据规范,dart中的web组件支持src属性: https://www.dartlang.org/articles/dart-web-components/spec.html#behavior。我试图链接到外部飞镖库:给定一个foo.html
Web组件的
<element name="x-foo-component" constructor="FooComponent" extends="div">
我想通过增加链接到一个单独的foo_embed.dart
文件在同一目录作为我的Web组件,它定义FooComponent
,:
<script type="application/dart" src="foo_embed.dart"></script>
在foo.html
之内。继规范的建议,foo_embed.dart
需求是一个飞镖库,并会包含:
library foo_embed;
import 'package:web_ui/web_ui.dart';
class FooComponent extends WebComponent {
...
}
当我尝试了,运行build.dart
(从这些说明http://www.dartlang.org/articles/dart-web-components/tools.html)最终仅投入out/
foo_embed.dart
而且也没有用于产生out/foo.html.dart
导入application.dart
。
正如预期的那样,粘贴的foo_embed.dart
内容作为内部foo.html
直接(如代码实验室完成)与build.dart
的作品,我可以启动我的webapp在Dartium,所以我似乎没有任何其他的语法内联脚本我的项目出现问题。
我可能在某处有一个简单的语法错误吗?或者这是Dart Web组件编译器的临时限制吗?谢谢。
感谢您的回复。我认为我的问题是通过升级web_ui并更改我的导入来解决的。在删除了旧的'web/out /'目录后,将'foo_embed.dart'重命名为'foo.dart',并用web_ui 0.2.10 + 2重新运行'build.dart',我现在甚至都看不到生成的' out/foo.html.dart'文件。因此,我在'application.dart'(从codelab的'foo.html.dart'导入)中将我的导入改为'out/foo.dart'并且它正在工作!看着0.2.10 + 2的更新日志提到了build.dart的改变,所以也许这解决了我的问题?)我会接受你的答案,因为它确实表明外部脚本工作。 – shindokaku