2

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);

みんな、ありがとう

マルコ

4

1 に答える 1

0

あなたが持っているようにコードをハッキングしなければ、これが可能であるとは思えません。しかし、Dart 1.6 は遅延ロードのサポートを追加しました。

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

于 2014-09-14T14:15:59.077 に答える