【发布时间】: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