Ионная информация Ионная:
ionic (Ionic CLI) : 4.2.1 (/usr/local/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 4.0.0-beta.12
@angular-devkit/build-angular : 0.7.5
@angular-devkit/schematics : 0.7.5
@angular/cli : 6.2.4
@ionic/angular-toolkit : 1.0.0
Кордова:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : android 7.1.1, browser 5.0.4
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.2.0, (and 4 other plugins)
Система:
Android SDK Tools : 26.1.1 (/Users/we/Library//Android/sdk)
NodeJS : v8.11.4 (/usr/local/bin/node)
npm : 6.4.1
OS : macOS High Sierra
Xcode : Xcode 8.0 Build version 8A218a
Я создал новый проект с помощью следующей команды:
ionic start sandbox2 sidemenu --type=angular
затем я попытался развернуть его на устройстве Android с помощью этой команды:
ionic cordova emulate android --target="nexus"
целью был Эмулятор с Android 7 (API 24). Я не изменил ни одно изкод, но я увидел только белый экран.
Вывод на консоль:
The key "viewport-fit" is not recognized and ignored.
vendor.js:34241Angular is running in the development mode. Call enableProdMode() to enable the production mode.
vendor.js:32793ERROR Error: Uncaught (in promise): TypeError: Object.values is not a function(…)defaultErrorLogger @ vendor.js:32793
vendor.js:32793ERROR Error: Uncaught (in promise): TypeError: containerEl.commit is not a function(…)defaultErrorLogger @ vendor.js:32793
vendor.js:64239Ionic Native: deviceready event fired after 995 ms
Из-за белого экрана я ожидал, что DOM покажет пустой тег корня приложения, но я обнаружил, чтоэто:
<body>
<app-root ng-version="6.1.9">
<ion-app>
<ion-split-pane>
<ion-menu>
<ion-header>
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<!--bindings={
"ng-reflect-ng-for-of": "[object Object],[object Object"
}-->
<ion-menu-toggle auto-hide="false">
<ion-item tabindex="0" ng-reflect-router-direction="root" ng-reflect-router-link="/home">
<ion-icon slot="start" ng-reflect-name="home"></ion-icon>
<ion-label> Home </ion-label>
</ion-item>
</ion-menu-toggle>
<ion-menu-toggle auto-hide="false">
<ion-item tabindex="0" ng-reflect-router-direction="root" ng-reflect-router-link="/list">
<ion-icon slot="start" ng-reflect-name="list"></ion-icon>
<ion-label> List </ion-label>
</ion-item>
</ion-menu-toggle>
</ion-list>
</ion-content>
</ion-menu>
<ion-router-outlet main="">
<app-home _nghost-c0="" class="ion-page ion-page-invisible">
<ion-header _ngcontent-c0="">
<ion-toolbar _ngcontent-c0="">
<ion-buttons _ngcontent-c0="" slot="start">
<ion-menu-button _ngcontent-c0=""></ion-menu-button>
</ion-buttons>
<ion-title _ngcontent-c0=""> Home </ion-title>
</ion-toolbar>
</ion-header>
<ion-content _ngcontent-c0="" padding=""> The world is your oyster.
<p _ngcontent-c0="">If you get lost, the <a _ngcontent-c0="" href="https://ionicframework.com/docs" rel="noopener" target="_blank">docs</a> will be your guide.</p>
</ion-content>
</app-home>
</ion-router-outlet>
</ion-split-pane>
</ion-app>
</app-root>
<script type="text/javascript" src="runtime.js"></script>
<script type="text/javascript" src="polyfills.js"></script>
<script type="text/javascript" src="styles.js"></script>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="vendor.js"></script>
<script type="text/javascript" src="main.js"></script>
</body>
Я не знаю, почему отсутствуют стили, чтобы показать шаблон бокового меню, который я добавил в этот проект.
Когда я пытался развернуть проект в браузере, онработал отлично.Я использовал эту команду для этого:
ionic cordova run browser
Я уже пытался безуспешно изменить <base href="/" />
на <base href="." />
.
Следующее, что я сделал, было удаление ионной страницы.-видимый стиль на домашней странице:
export class HomePage implements OnInit {
constructor(
private renderer: Renderer2,
private el: ElementRef
) {
}
ngOnInit() {
this.renderer.removeClass(this.el.nativeElement, 'ion-page-invisible');
}
}
Я проверил это на своем устройстве Android и стиль был удален .... но я все еще ничего не вижу.
ОБНОВЛЕНИЕ
Я сейчас протестировал его на Android и эмуляторе IOS, не работал, но затем я попробовал свое физическое устройство и запустил его, это проблема с уровнем API.
Работает: API 26 Oreo (Android 8.0) -> Пробовал его в эмуляторе после физического устройства, оба работали Mac натив Браузер
Не работает: Android API 25 и ниже Iphone Simulator с IOS 10 -> не работает
Не удалось запустить из-за других ошибок: Android API более 26 из-за «PANIC: отсутствует программа движка эмулятора для процессора x86»