[英]dart's latest js-interop library causes some issues lately
我在最新的js-interop库中看到了一些奇怪的变化,我想知道是否有人可以给出一些澄清。
升级到最新版本后,我注意到dart2js不再起作用了。 经过一番调查后,我得出结论,原因是js-interop库中的@proxy注释( 这里也提到了 )。
因此,我在几个版本之间切换,我注意到一些像scoped这样的函数已经在几天内被弃用了,之后几天就被完全删除了! 如果您错过了将此函数标记为已弃用的版本之间的错误,则会错过提供有关它的一些信息的提示。 另请注意,关于dartlang.org上的js库的主要教程甚至没有暗示它的大部分已经过时的事实。
我决定回到版本0.0.26,尽管它似乎像以前一样工作......我注意到在一个实例中,当从dart中的javascript上下文中检索变量时,我收到了一个dart DateTime对象而不是js.Proxy对象。
回到之前的版本(v0.0.25)我在使用js上下文中的变量时得到了我的js.Proxy,正如预期的那样。
奇怪的是,在github上 ,版本一直到0.0.25(按预期工作),而pub上的那个版本有3个版本,这些版本都有很多后向兼容性(有时需要),没有明确的指示在(我发现轻微沮丧)。
有人可以澄清一下正在发生的事情以及我对未来时期的期望吗?
所有这些重大变化已在包装中的未来重大变化中公布:js和BREAKING CHANGE:包:js已弃用的功能被删除 。
基本上,从0.0.26开始, package:js现在用dart:js烘焙。 这种变化有几个方面:
null
, bool
, num
, String
, DateTime
Blob
KeyRange
ImageData
TypedData
,包括其子类,如Int32List
,但不包括ByteBuffer
Node
Callback
。 这是一个快速迁移指南:
js.retain
, js.release
和js.scoped
。 new Callback.xxxx(f)
与f
和删除callback.dispose()
Proxy
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.