dart虚拟机工作,但dart2js失败

dart虚拟机工作,但dart2js失败,dart,dart-polymer,dart2js,Dart,Dart Polymer,Dart2js,我在做聚合物飞镖。dart虚拟机一切正常,但当我尝试部署它时,当我运行构建的js版本时,它失败了(编译没问题)。它给了我错误 未捕获的TypeError:无法调用null的方法“shL” 我试图跟踪编译后的js代码,似乎是因为查询了文档中还没有的元素(它在html文件中,但不知何故,当时只加载了文档的头部) 因为它是编译版本,所以很难追踪哪个部分出错了。此外,dart vm和dart2js中没有错误 有人知道为什么会这样吗?或者我做错了什么 另外,我认为要使dart更受欢迎,至少dart2js编

我在做聚合物飞镖。dart虚拟机一切正常,但当我尝试部署它时,当我运行构建的js版本时,它失败了(编译没问题)。它给了我错误

未捕获的TypeError:无法调用null的方法“shL”

我试图跟踪编译后的js代码,似乎是因为查询了文档中还没有的元素(它在html文件中,但不知何故,当时只加载了文档的头部) 因为它是编译版本,所以很难追踪哪个部分出错了。此外,dart vm和dart2js中没有错误

有人知道为什么会这样吗?或者我做错了什么

另外,我认为要使dart更受欢迎,至少dart2js编译器必须像在vm上运行良好的代码在js版本中运行良好一样稳定。让开发人员尝试在编译的js代码上进行调试真的很烦人。 谢谢 彝族

==更新==

这是html文件(在构建之前)


示例应用程序
输出“main.dart”;

通常,这个问题是由聚合物表达式访问属性引起的,这些属性是由
pub build
s树抖动所丢弃的。 树摇动保留了在某处引用的所有代码,但聚合物表达式尚未考虑到这一点。 如果在运行带有选项debug
pub build--mode=debug
的build时项目可以正常工作,那么很可能就是这个原因

如果删除的字段/方法在您控制的代码中,则只需添加一个注释
@reflectable
@observable
@published
,即可解决此问题。
如果它是第三方代码(SDK或某些第三方库),您可以导入'dart:mirrors',并用@MirrorsUsed(options)`注释它,其中的选项列表应该保留。

我发现我的原始代码中有两个问题。 1.我不应该在主体加载之前加载主脚本,我认为在dart页面中的一些示例代码中也是错误的。 2.我认为initPolymer()不会同步初始化元素。因此,如果我在initPolymer之后调用元素的方法,它将找不到该方法

我修正了1。但是,我不知道如何修复2。我尝试了initPolymer().run(),它也不起作用。如果有人知道如何修理,请告诉我

谢谢,
Yi

没有足够的信息提供帮助。请提供如何在HTML文件中包含Dart/JS文件的大致轮廓。