2

Dartium で Dart アプリケーションを正しく開くには?

このAngular2-Dart チュートリアルを行っています。

アプリケーションを動作させるにはpub build、コマンドを実行し、ディレクトリで http サーバーを起動するbuild/webと、アプリケーションが正しく動作します。

また、コマンドを実行してブラウザでアドレスをpub serve開きlocalhost:8080、Dart のコンパイルが完了するまでしばらく待つと、アプリケーションも動作します。

Dartium でアプリケーションを正しく実行するには? IDEAでweb/index.htmlファイルし、Alt + F2 を押して (アプリケーションを開くバリアントを開くため)、dartium を押します。現在、動作するアプリケーションが表示されません。メッセージしか表示されませんLoading...(私の html は であるため<my-app>Loading...</my-app>)。

この窓が見えるここに画像の説明を入力

また、Dart アプリケーションを開発する際に Dartium Web ブラウザーを使用する利点は何ですか? たとえば、pub serveページが更新されるたびに Dart コードを再コンパイルします。本当に時間がかかります。Dartium でのコンパイルにそれほど時間をかけないのではないでしょうか?

1 つの方法として、Dart アプリケーションを正しく開くことができます。dartium は次のとおりです。

  1. ディレクトリに http サーバーをセットアップしますweb(index.html ファイルはこちら)。
  2. このサーバーを実行します (たとえば、8086 port0 で)
  3. ダーティウムlocalhost:8086で開きます。

しばらくすると、アプリケーションが正しく開かれます。私のintellijのアイデアに問題があるのでしょうか?

アップデート:

Dartium でpub serve開こうとしているときに、IDEA のタブでこれを取得しました。index.html

C:\tools\dart-sdk\bin\pub.bat serve web --port=53852
Loading source assets...
Loading angular2 and dart_to_js_script_rewriter transformers...
Serving ng2_hero_app web on http://localhost:53852
[web] GET index.html => (cached) ng2_hero_app|web/index.html
[web] GET Served 9 cached assets.
Build completed successfully
[web] GET Served 2 cached assets.
[web] GET Served 3 cached assets.
[web] GET packages/angular2/src/core/metadata.dart => (cached) angular2|lib/src/core/metadata.dart
[web] GET packages/angular2/src/core/util.dart => (cached) angular2|lib/src/core/util.dart
[web] GET packages/angular2/src/core/di.dart => (cached) angular2|lib/src/core/di.dart
[web] GET packages/angular2/src/facade/facade.dart => (cached) angular2|lib/src/facade/facade.dart
[web] GET packages/angular2/src/core/application_ref.dart => (cached) angular2|lib/src/core/application_ref.dart
[web] GET packages/angular2/src/core/application_tokens.dart => (cached) angular2|lib/src/core/application_tokens.dart
[web] GET packages/angular2/src/core/zone.dart => (cached) angular2|lib/src/core/zone.dart
[web] GET packages/angular2/src/core/render.dart => (cached) angular2|lib/src/core/render.dart
[web] GET packages/angular2/src/core/linker.dart => (cached) angular2|lib/src/core/linker.dart
[web] GET packages/angular2/src/core/debug/debug_node.dart => (cached) angular2|lib/src/core/debug/debug_node.dart
[web] GET packages/angular2/src/core/testability/testability.dart => (cached) angular2|lib/src/core/testability/testability.dart
[web] GET packages/angular2/src/core/change_detection.dart => (cached) angular2|lib/src/core/change_detection.dart
[web] GET packages/angular2/src/core/platform_directives_and_pipes.dart => (cached) angular2|lib/src/core/platform_directives_and_pipes.dart
[web] GET packages/angular2/src/core/platform_common_providers.dart => (cached) angular2|lib/src/core/platform_common_providers.dart
[web] GET packages/angular2/src/core/application_common_providers.dart => (cached) angular2|lib/src/core/application_common_providers.dart
[web] GET packages/angular2/src/core/reflection/reflector.dart => (cached) angular2|lib/src/core/reflection/reflector.dart
[web] GET packages/angular2/src/core/reflection/types.dart => (cached) angular2|lib/src/core/reflection/types.dart
[web] GET packages/angular2/src/core/reflection/platform_reflection_capabilities.dart => (cached) angular2|lib/src/core/reflection/platform_reflection_capabilities.dart
[web] GET packages/angular2/src/facade/lang.ngfactory.dart => (cached) angular2|lib/src/facade/lang.ngfactory.dart
[web] GET packages/angular2/src/platform/browser_common.ngfactory.dart => (cached) angular2|lib/src/platform/browser_common.ngfactory.dart
[web] GET packages/angular2/core.ngfactory.dart => (cached) angular2|lib/core.ngfactory.dart
[web] GET packages/angular2/src/core/angular_entrypoint.ngfactory.dart => (cached) angular2|lib/src/core/angular_entrypoint.ngfactory.dart
[web] GET packages/angular2/src/facade/collection.dart => (cached) angular2|lib/src/facade/collection.dart
[web] GET packages/angular2/src/core/change_detection/change_detection.dart => (cached) angular2|lib/src/core/change_detection/change_detection.dart
[web] GET packages/angular2/src/core/metadata/di.dart => (cached) angular2|lib/src/core/metadata/di.dart
[web] GET Served 2 cached assets.

Dartium では次のように表示されます。 ここに画像の説明を入力

Chrome で index.html を開こうとすると、次のテキストが表示されます。

    C:\tools\dart-sdk\bin\pub.bat serve web --port=54019
Loading source assets...
Loading angular2 and dart_to_js_script_rewriter transformers...
Serving ng2_hero_app web on http://localhost:54019
[web] GET index.html => (cached) ng2_hero_app|web/index.html
[web] GET Served 3 cached assets.
Build completed successfully

そして、これは写真です: ここに画像の説明を入力

4

2 に答える 2

1

IntelliJ IDEA 2016.3 を使用していますが、web/index.html を右クリックしてもまだ実行/デバッグがありません。私のプロジェクトは Dart プロジェクトとして認識されます (pubspec.yaml を見ると Pub アクションが表示されます)。

Browser|Dartium で開くと、次の 2 つのことが起こります。

1) 問題の説明

Dartium は URL http://localhost:63342/enighet_register/web/index.html?_ijt=kg22cgo907ps6ivcv3sm5dmvt1で開きます。これは、コンソール ログが示すように、Dartium が Web ディレクトリから他のリソースを見つけることができないため (例: 要求された)、永久にロードされていることを示しています。http://localhost:63342/main.dart 経由) 。これら 2 つの URL を比較すると、最初の URL はプロジェクト名と web-directory を保持しているのに対し、2 番目の URL は index.html に関連していることがわかります。これが問題の原因のようです。(main.dart はhttp://localhost:63342/enighet_register/web/main.dartから入手できます)

2) 回避策

Dartium でファイルを開くと、IntelliJ の Pub Serve タブも開始されます (Dart Analysis タブと Terminal タブの隣)。「Serving enighet_register web on http://localhost:39030」という行が表示されます。Dartium (または他のブラウザー) でこの URL を開くと、問題なく動作します (ポートは動的なので、毎回出力を確認してください)。

IntelliJ でデバッグできるかどうかはわかりませんが、Dartium 内でブレークポイントを設定してデバッグできます。

于 2016-12-08T14:09:29.127 に答える