如何在Dart中轻松/动态加载类?

4
我曾考虑使用Dart框架进行开发。但我发现一个问题,即不能惰性加载类或采用其他加载更多代码的方法。我希望在用户浏览网站不刷新页面的情况下(使用history API),能够动态加载更多的代码,但据我所知,我必须预先加载所有代码。这将导致首次加载时间过长,而且每次更改任何代码时,用户都必须重新下载整个网站的代码,这是无法接受的。
JavaScript中可以通过SyntaxHighlighter这种程序实现。它提供了只在需要时加载brushes的选项。在Dart中,你可以加载隔离并传递一些序列化版本来完成语法高亮,但对于我的应用程序,我需要事件监听器和处理程序以及大量的DOM和CSS操作。我无法使用原始类型编写自定义API来执行所有这些操作。
我想知道是否有一种方法可以在Dart中实现这一点,或者是否有任何正在开发中的内容可允许实现这种技术。(否则就只能回到JavaScript了)
谢谢,Kevin

1
这是一个关于延迟加载的链接:http://blog.sethladd.com/2013/04/lazy-load-libraries-in-dart.html - Phil
1个回答

2
据我所知,目前没有办法在已经运行的Dart程序中动态地加载代码(虽然当Dart引入反射时,这可能会改变)。
你可以加载一个不同的Dart程序,然后使用postMessage进行通信,但这似乎有点过头了。也许你应该为此打开一个bug报告。我们还有一个庞大的Dart代码库,肯定可以使用像GWT代码拆分这样的东西来加快速度。

1
我会检查他们的错误跟踪器,可能会提交一个功能请求,我会报告我的发现。 - Kevin Cox
2
我在 https://code.google.com/p/dart/issues/detail?id=3819 上提出了一个功能请求。 - Kevin Cox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接