[英]The Angular AoT build failed when running the release command in Ionic 3
我正在嘗試在Sony Z2智能手機上運行該應用程序。 我使用以下命令:
ionic build android --prod --release
我在控制台中收到如下錯誤:
打字稿錯誤C:/Users/fearcoder/Documents/natuurkundeformules/src/pages/circkelmovement/circkelmovement.ts中的CirckelmovementPage類型是以下兩個模塊聲明的一部分:C:/ Users / fearcoder / Documents / natuurkundeformules / src / app中的AppModule /app.module.ts和CirckelmovementPageModule在C:/ Users / fearcoder /Documents/natuurkundeformules/src/pages/circkelmovement/circkelmovement.module.ts中!
Please consider moving CirckelmovementPage in
C:/Users/fearcoder/Documents/natuurkundeformules/src/pages/circkelmovement/circkelmovement.ts到將模塊導入C:/Users/fearcoder/Documents/natuurkundeformules/src/app/app/app.module.ts和CirckelmovementPageModule的更高模塊在C:/Users/fearcoder/Documents/natuurkundeformules/src/pages/circkelmovement/circkelmovement.module.ts中。
You can also create a new NgModule that exports and includes
C:/Users/fearcoder/Documents/natuurkundeformules/src/pages/circkelmovement/circkelmovement.ts中的CirckelmovementPage,然后將該NgModule導入C:/Users/fearcoder/Documents/natuurkundeformules/src/app/app.module.ts中的AppModule中。
and CirckelmovementPageModule in
C:/用戶/ fearcoder /文檔/natuurkundeformules/src/pages/circkelmovement/circkelmovement.module.ts。
這些是文件
繞圈運動
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { AdMobFree, AdMobFreeBannerConfig } from '@ionic-native/admob-free';
@IonicPage()
@Component({
selector: 'page-circkelmovement',
templateUrl: 'circkelmovement.html',
})
export class CirckelmovementPage {
ray:any;
circulationtime:any;
result:any;
constructor(public navCtrl: NavController, public navParams: NavParams, private admob: AdMobFree) {
}
ionViewDidLoad(){
const bannerConfig: AdMobFreeBannerConfig = {
isTesting: true,
autoShow: true
};
this.admob.banner.config(bannerConfig);
this.admob.banner.prepare()
.then(() => {
this.admob.banner.show()
})
.catch(e => console.log(e));
}
calculateWebSpeed(ray, circulationtime){
return this.result = "Baansnelheid: " + (2 * Math.PI * ray / circulationtime) + " m/s";
}
}
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { AdMobFree } from '@ionic-native/admob-free';
import { InAppBrowser } from '@ionic-native/in-app-browser';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { SpeedPage } from '../pages/speed/speed';
import { DistancePage } from '../pages/distance/distance';
import { TimePage } from '../pages/time/time';
import { WorkPage } from '../pages/work/work';
import { KinenergyPage } from '../pages/kinenergy/kinenergy';
import { GravityenergyPage } from '../pages/gravityenergy/gravityenergy';
import { GravityforcePage } from '../pages/gravityforce/gravityforce';
import { CirckelmovementPage } from '../pages/circkelmovement/circkelmovement';
import { ElectricityenergyPage } from '../pages/electricityenergy/electricityenergy';
import { LawohmPage } from '../pages/lawohm/lawohm';
import { LenslawPage } from '../pages/lenslaw/lenslaw';
import { LorentzforcewirePage } from '../pages/lorentzforcewire/lorentzforcewire';
import { DensityPage } from '../pages/density/density';
import { PressurePage } from '../pages/pressure/pressure';
import { LensstrenghtPage } from '../pages/lensstrenght/lensstrenght';
import { PowerPage } from '../pages/power/power';
import { CurrentstrenghtPage } from '../pages/currentstrenght/currentstrenght';
import { FrequencyPage } from '../pages/frequency/frequency';
import { WavespeedPage } from '../pages/wavespeed/wavespeed';
import { MassPage } from '../pages/mass/mass';
import { LorentzparticlePage } from '../pages/lorentzparticle/lorentzparticle';
@NgModule({
declarations: [
MyApp,
HomePage,
SpeedPage,
DistancePage,
TimePage,
WorkPage,
KinenergyPage,
GravityenergyPage,
GravityforcePage,
CirckelmovementPage,
ElectricityenergyPage,
LawohmPage,
LenslawPage,
LorentzforcewirePage,
DensityPage,
PressurePage,
LensstrenghtPage,
PowerPage,
CurrentstrenghtPage,
FrequencyPage,
WavespeedPage,
MassPage,
LorentzparticlePage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
SpeedPage,
DistancePage,
TimePage,
WorkPage,
KinenergyPage,
GravityenergyPage,
GravityforcePage,
CirckelmovementPage,
ElectricityenergyPage,
LawohmPage,
LenslawPage,
LorentzforcewirePage,
DensityPage,
PressurePage,
LensstrenghtPage,
PowerPage,
CurrentstrenghtPage,
FrequencyPage,
WavespeedPage,
MassPage,
LorentzparticlePage
],
providers: [
StatusBar,
SplashScreen,
AdMobFree,
InAppBrowser,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
circkelmovement.module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { CirckelmovementPage } from './circkelmovement';
@NgModule({
declarations: [
CirckelmovementPage,
],
imports: [
IonicPageModule.forChild(CirckelmovementPage),
],
})
export class CirckelmovementPageModule {}
我已經讀到該命令可以解決加載應用程序時的性能問題。 我不知道我在做什么錯。 有人可以指出我正確的方向嗎?
親切的問候
因此,當您使用延遲加載的頁面時,根本不需要在app.module.ts中導入或聲明這些頁面,因為它們將成為其文件夾中自己模塊的一部分。 因此,對於所有延遲加載的頁面都具有:
頁面的延遲加載頁面自己的命名模塊文件(您似乎在此特定頁面中擁有該文件)
在您的應用程序邏輯中,當您加載這樣的頁面時(例如,使用navCtrl),您需要將頁面名稱作為字符串而不是作為組件使用
因此,在代碼中取消注釋您懶加載的頁面:
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { AdMobFree } from '@ionic-native/admob-free';
import { InAppBrowser } from '@ionic-native/in-app-browser';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { SpeedPage } from '../pages/speed/speed';
import { DistancePage } from '../pages/distance/distance';
import { TimePage } from '../pages/time/time';
import { WorkPage } from '../pages/work/work';
import { KinenergyPage } from '../pages/kinenergy/kinenergy';
import { GravityenergyPage } from '../pages/gravityenergy/gravityenergy';
import { GravityforcePage } from '../pages/gravityforce/gravityforce';
// import { CirckelmovementPage } from '../pages/circkelmovement/circkelmovement';
import { ElectricityenergyPage } from '../pages/electricityenergy/electricityenergy';
import { LawohmPage } from '../pages/lawohm/lawohm';
import { LenslawPage } from '../pages/lenslaw/lenslaw';
import { LorentzforcewirePage } from '../pages/lorentzforcewire/lorentzforcewire';
import { DensityPage } from '../pages/density/density';
import { PressurePage } from '../pages/pressure/pressure';
import { LensstrenghtPage } from '../pages/lensstrenght/lensstrenght';
import { PowerPage } from '../pages/power/power';
import { CurrentstrenghtPage } from '../pages/currentstrenght/currentstrenght';
import { FrequencyPage } from '../pages/frequency/frequency';
import { WavespeedPage } from '../pages/wavespeed/wavespeed';
import { MassPage } from '../pages/mass/mass';
import { LorentzparticlePage } from '../pages/lorentzparticle/lorentzparticle';
@NgModule({
declarations: [
MyApp,
HomePage,
SpeedPage,
DistancePage,
TimePage,
WorkPage,
KinenergyPage,
GravityenergyPage,
GravityforcePage,
// CirckelmovementPage,
ElectricityenergyPage,
LawohmPage,
LenslawPage,
LorentzforcewirePage,
DensityPage,
PressurePage,
LensstrenghtPage,
PowerPage,
CurrentstrenghtPage,
FrequencyPage,
WavespeedPage,
MassPage,
LorentzparticlePage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
SpeedPage,
DistancePage,
TimePage,
WorkPage,
KinenergyPage,
GravityenergyPage,
GravityforcePage,
// CirckelmovementPage,
ElectricityenergyPage,
LawohmPage,
LenslawPage,
LorentzforcewirePage,
DensityPage,
PressurePage,
LensstrenghtPage,
PowerPage,
CurrentstrenghtPage,
FrequencyPage,
WavespeedPage,
MassPage,
LorentzparticlePage
],
providers: [
StatusBar,
SplashScreen,
AdMobFree,
InAppBrowser,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
還有一件事:請確保您對應用程序的命名約定非常謹慎。 我在這里看到:
@Component({
selector: 'page-circkelmovement',
templateUrl: 'circkelmovement.html',
})
您有不同的選擇器和模板url文件命名。 這可能會咬你;)以此為指導: https : //angular.io/guide/styleguide或遵循有關Ionic建議如何執行的示例,但最好在文件命名方面保持一致,例如:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.