【问题标题】:Dart2js : Is it possible to start Root Isolate from Javascript?Dart2js:是否可以从 Javascript 启动 Root Isolate?
【发布时间】:2013-08-01 07:45:50
【问题描述】:

我有一个用 dart2js 编译的应用程序(Dart SDK 版本 0.6.13.0_r25630) 并且我想在每次需要时使用 RequireJS 加载它。

首先,感谢上帝在编译后的 javascript 中提供了包装函数,但在我的情况下还不够 :(

我使用 requirejs 来加载 dart2js 应用程序

 require(["application.dart"], function () {});

但我想处理何时启动应用程序。例如点击事件。

require(["jQuery","application.dart"], function (jQuery,$) {
        jQuery(element).click(function(){
           $.startRootIsolate($.main$closure);
        })

});

我破解了编译后的 Javascript,但我想知道它是否可以以本机方式进行。

在 application.dart.js 中,我将函数包装在 AMD 模块中

(function (factory) {
if (typeof define === 'function' && define.amd) {
    // AMD. Register as anonymous module.
    define([],function(){
        return factory();
    } );
} else {
    // Browser globals.
    factory();
}
})(function($) {...})

然后我返回 $ 对象

return $;

最后我在我找到的这行代码中注释了

$.startRootIsolate($.main$closure);

谢谢大家

马可

【问题讨论】:

    标签: requirejs dart dart-isolates dart2js


    【解决方案1】:

    我怀疑如果不像您那样破解代码,这是可能的。但是,Dart 1.6 增加了对延迟加载的支持,这可能会为您提供另一种方式来满足您的需求?

    http://news.dartlang.org/2014/08/dart-16-adds-support-for-deferred.html

    【讨论】:

      猜你喜欢
      • 2013-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-23
      • 1970-01-01
      • 2015-12-25
      相关资源
      最近更新 更多