简单 Angular 2 Cordova 应用程序无法在 android 模拟器上运行

Simple Angular 2 Cordova app not working on android emulator

我正在 windows 10 使用 VS code 进行开发,我有 android studio setup with android emulator nexus 5 API 24

我使用 angular-cli 创建了一个新的 angular 2 应用程序:

 ng new angular2-cordova-test

在项目文件夹中我使用Cordova cli创建了一个新的Cordova项目:

 cordova create cordova com.example.cordova cordova
 cordova platform add android --save
 cordova build

root 目录我将 angular 2 应用程序构建到 Cordova www 目录

 ng build --prod --output-path=cordova/www/

当我 运行 应用程序从 cordova 目录进入模拟器时:

 cordova emulate android

我在模拟器中得到了 Loading...,而在 中的应用程序无法运行

Android Emulator

我认为这与ES6和模拟器webview

有关

我该如何解决这个问题?提前致谢

实际上,我在这里问了这个问题:

由于奇怪的原因关闭了!!所以评论里有答案

问题很简单,angular 2 项目组成的 HTML 包含:

<base href="/">

这是导致问题的原因,只需将其删除

也在解决问题的过程中我学会了如何:

  • 在模拟器上使用 chrome 开发工具调试应用程序
  • 在我的 phone
  • 上使用 chrome 开发工具调试应用程序
  • 创建签名的 APK

这是一个很好的实验

更新:

进入构建angular+cordova+路由的情况后,Parth Ghiya的提示是必须

我将元标记更改为 <base href=".">,包括路由在内的一切都正常工作

只需使用

如果你删除了 base href 那么你的路由将无法在 angular 2.

如果你想建造, 做

ng build --prod --base-href .

我用它来设置基数:<base href="./">。这对我有用。但您也可以使用 <base href="file:///android_asset/www/" /> 代替 android。

最后,我有一个非常有用的建议,即使用 Chrome 远程调试器来调试您的移动应用程序。控制台告诉一切。