如何在 IDEA 的 Dartium 浏览器中正确 运行 Angular2 dart 应用程序?
How to correctly run Angular2 dart application in Dartium browser from IDEA?
如何在Dartium中正确打开Dart应用?
我正在做 this Angular2-Dart 教程。
要获得工作应用程序,我可以 运行 pub build
命令,然后在 build/web
目录上启动 http 服务器,应用程序将正常工作。
此外,我可以运行 pub serve
命令,然后在浏览器中打开localhost:8080
地址,等待Dart编译一段时间,应用程序也可以运行。
如何在Dartium中正确运行应用?我要在 IDEA 中找到 web/index.html
文件,按 Alt + F2(打开变体以打开应用程序)并按 dartium。我现在看不到工作应用程序。我只看到 Loading...
消息(因为我的 html 是 <my-app>Loading...</my-app>
)。
我看到了这个window
另外,在开发 Dart 应用程序时使用 Dartium 网络浏览器有什么好处?例如,pub serve
在每次页面刷新时重新编译 Dart 代码。这真的需要很多时间。也许我不会花那么多时间用 Dartium 进行编译?
一种方法,我可以正确打开我的 Dart 应用程序是 dartium 是:
- 在
web
目录中设置 http 服务器(index.html 文件在此处)。
- 运行 此服务器(例如在 8086 端口 0
- 在 dartium 中打开
localhost:8086
。
一段时间后应用程序被正确打开。可能是我的intellij想法有问题?
更新:
当我尝试用 Dartium 打开 index.html
时,我在 IDEA 的 pub serve
选项卡中得到了这个:
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
这是照片:
运行 并在 Dartium
中调试
在 IDEA(或 WebStorm)中,您只需右键单击 web/index.html
和 select Run (index.html)
或 Debug (index.html)
而 IDEA 应该
- 开始
pub serve
- 启动 Dartium
- 加载index.html
我不知道 Alt + F2
有什么作用,因为有各种键盘快捷键设置。
运行 在 Chrome、Firefox、Safari、...
您还应该能够将 URL 从 Dartium 复制到 Chrome 或其他浏览器,并且 pub serve
服务于 Dart-to-JavaScript 转译的应用程序。这比 pub build
更有效,因为它不需要在修改源代码后重建整个应用程序。它可以重用代码未更改的缓存部分,因此速度更快。
已知问题
最近有一个 IDEA(和 WebStorm)问题导致了与您描述的行为类似的行为。请检查您是否有最新的 IDEA 版本。
我用的是IntelliJ IDEA 2016.3,右击web/index.html还是没有Run/Debug。我的项目被识别为 Dart 项目(查看时显示 Pub 操作 pubspec.yaml)。
当我在浏览器中打开|Dartium 时会发生两件事:
1)问题描述
Dartium 打开 url http://localhost:63342/enighet_register/web/index.html?_ijt=kg22cgo907ps6ivcv3sm5dmvt1 which displays forever loading because as the console log shows as Dartium is unable to find the other resources from the web directory (e.g. requested via http://localhost:63342/main.dart ). If you compare these two urls you notice that the first one retains the project name and web-directory, while the second one is relative to index.html. This seems to be the source of the problem. (main.dart is available via http://localhost:63342/enighet_register/web/main.dart)
2) 解决方法
在 Dartium 中打开文件也会启动 IntelliJ 中的 Pub Serve-tab(在 Dart Analysis- and Terminal-tab 旁边)。在这里我们得到了这条线:
"Serving enighet_register web on http://localhost:39030"
在 Dartium(或其他浏览器)中打开这个 url 工作得很好(端口是动态的,所以每次检查输出)。
虽然不确定是否可以在 IntelliJ 中调试,但是您可以在 Dartium 中设置断点和调试!
如何在Dartium中正确打开Dart应用?
我正在做 this Angular2-Dart 教程。
要获得工作应用程序,我可以 运行 pub build
命令,然后在 build/web
目录上启动 http 服务器,应用程序将正常工作。
此外,我可以运行 pub serve
命令,然后在浏览器中打开localhost:8080
地址,等待Dart编译一段时间,应用程序也可以运行。
如何在Dartium中正确运行应用?我要在 IDEA 中找到 web/index.html
文件,按 Alt + F2(打开变体以打开应用程序)并按 dartium。我现在看不到工作应用程序。我只看到 Loading...
消息(因为我的 html 是 <my-app>Loading...</my-app>
)。
我看到了这个window
另外,在开发 Dart 应用程序时使用 Dartium 网络浏览器有什么好处?例如,pub serve
在每次页面刷新时重新编译 Dart 代码。这真的需要很多时间。也许我不会花那么多时间用 Dartium 进行编译?
一种方法,我可以正确打开我的 Dart 应用程序是 dartium 是:
- 在
web
目录中设置 http 服务器(index.html 文件在此处)。 - 运行 此服务器(例如在 8086 端口 0
- 在 dartium 中打开
localhost:8086
。
一段时间后应用程序被正确打开。可能是我的intellij想法有问题?
更新:
当我尝试用 Dartium 打开 index.html
时,我在 IDEA 的 pub serve
选项卡中得到了这个:
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
这是照片:
运行 并在 Dartium
中调试在 IDEA(或 WebStorm)中,您只需右键单击 web/index.html
和 select Run (index.html)
或 Debug (index.html)
而 IDEA 应该
- 开始
pub serve
- 启动 Dartium
- 加载index.html
我不知道 Alt + F2
有什么作用,因为有各种键盘快捷键设置。
运行 在 Chrome、Firefox、Safari、...
您还应该能够将 URL 从 Dartium 复制到 Chrome 或其他浏览器,并且 pub serve
服务于 Dart-to-JavaScript 转译的应用程序。这比 pub build
更有效,因为它不需要在修改源代码后重建整个应用程序。它可以重用代码未更改的缓存部分,因此速度更快。
已知问题
最近有一个 IDEA(和 WebStorm)问题导致了与您描述的行为类似的行为。请检查您是否有最新的 IDEA 版本。
我用的是IntelliJ IDEA 2016.3,右击web/index.html还是没有Run/Debug。我的项目被识别为 Dart 项目(查看时显示 Pub 操作 pubspec.yaml)。
当我在浏览器中打开|Dartium 时会发生两件事:
1)问题描述
Dartium 打开 url http://localhost:63342/enighet_register/web/index.html?_ijt=kg22cgo907ps6ivcv3sm5dmvt1 which displays forever loading because as the console log shows as Dartium is unable to find the other resources from the web directory (e.g. requested via http://localhost:63342/main.dart ). If you compare these two urls you notice that the first one retains the project name and web-directory, while the second one is relative to index.html. This seems to be the source of the problem. (main.dart is available via http://localhost:63342/enighet_register/web/main.dart)
2) 解决方法
在 Dartium 中打开文件也会启动 IntelliJ 中的 Pub Serve-tab(在 Dart Analysis- and Terminal-tab 旁边)。在这里我们得到了这条线: "Serving enighet_register web on http://localhost:39030" 在 Dartium(或其他浏览器)中打开这个 url 工作得很好(端口是动态的,所以每次检查输出)。
虽然不确定是否可以在 IntelliJ 中调试,但是您可以在 Dartium 中设置断点和调试!