Error: ionic cordova run android --prod --release
Error: ionic cordova run android --prod --release
当我尝试使用以下命令构建时。如何解决这个问题。我怀疑这个问题是不是因为 ionic 已经更新了。
即使我尝试从指令中删除 AccountPage,下一页 ConfirmationPage 也会出现问题。
ionic cordova run android --prod --release
错误
app.modules.ts
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { HttpModule } from '@angular/http';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { TransactionPage } from '../pages/transaction/transaction';
import { LoginPage } from '../pages/login/login';
import { SendPage } from '../pages/send/send';
import { DetailPage } from '../pages/detail/detail';
import { ConfirmationPage } from '../pages/confirmation/confirmation';
import { JoinPage } from '../pages/join/join';
import { AccountPage } from '../pages/account/account';
import { OtpPage } from '../pages/otp/otp';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { TransactionDataProvider } from '../providers/transaction-data/transaction-data';
import { SenderProvider } from '../providers/sender/sender';
import { AuthServiceProvider } from '../providers/auth-service/auth-service';
@NgModule({
declarations: [
MyApp,
HomePage,
TransactionPage,
LoginPage,
SendPage,
DetailPage,
ConfirmationPage,
JoinPage,
OtpPage,
AccountPage
],
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
TransactionPage,
LoginPage,
SendPage,
DetailPage,
ConfirmationPage,
JoinPage,
OtpPage,
AccountPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
TransactionDataProvider,
SenderProvider,
AuthServiceProvider
]
})
export class AppModule {}
当您使用 --prod.
时,您需要从所有页面中删除 <page-name>.module.ts
文件
从生成的文件夹中删除模块文件并从 <page-name>.ts
文件中删除 @IonicPage()
并删除 IonicPage import
.
在执行 Paresh 所说的操作之前,您需要了解您使用的是什么架构。您是否延迟加载页面?
最新版本的 ionic-cli 使用特定页面的模块和页面 .ts
文件中的 @IonicPage()
装饰器生成准备延迟加载的页面。由于您要在 app.module
上声明每个页面,因此您很可能没有延迟加载,但是当您推送页面或类似的任何内容时,您没有导入页面以使用和你只是将页面名称作为字符串传递然后你是延迟加载。
因此,如果您使用延迟加载,则需要从 app.module.ts
声明和 entryComponents 中删除所有页面导入和声明。
如果您不是在每个页面文件夹中延迟加载,您需要删除 <page>.module.ts
并从页面 .ts
文件中删除 @IonicPage()
。
当我尝试使用以下命令构建时。如何解决这个问题。我怀疑这个问题是不是因为 ionic 已经更新了。
即使我尝试从指令中删除 AccountPage,下一页 ConfirmationPage 也会出现问题。
ionic cordova run android --prod --release
错误
app.modules.ts
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { HttpModule } from '@angular/http';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { TransactionPage } from '../pages/transaction/transaction';
import { LoginPage } from '../pages/login/login';
import { SendPage } from '../pages/send/send';
import { DetailPage } from '../pages/detail/detail';
import { ConfirmationPage } from '../pages/confirmation/confirmation';
import { JoinPage } from '../pages/join/join';
import { AccountPage } from '../pages/account/account';
import { OtpPage } from '../pages/otp/otp';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { TransactionDataProvider } from '../providers/transaction-data/transaction-data';
import { SenderProvider } from '../providers/sender/sender';
import { AuthServiceProvider } from '../providers/auth-service/auth-service';
@NgModule({
declarations: [
MyApp,
HomePage,
TransactionPage,
LoginPage,
SendPage,
DetailPage,
ConfirmationPage,
JoinPage,
OtpPage,
AccountPage
],
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
TransactionPage,
LoginPage,
SendPage,
DetailPage,
ConfirmationPage,
JoinPage,
OtpPage,
AccountPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
TransactionDataProvider,
SenderProvider,
AuthServiceProvider
]
})
export class AppModule {}
当您使用 --prod.
<page-name>.module.ts
文件
从生成的文件夹中删除模块文件并从 <page-name>.ts
文件中删除 @IonicPage()
并删除 IonicPage import
.
在执行 Paresh 所说的操作之前,您需要了解您使用的是什么架构。您是否延迟加载页面?
最新版本的 ionic-cli 使用特定页面的模块和页面 .ts
文件中的 @IonicPage()
装饰器生成准备延迟加载的页面。由于您要在 app.module
上声明每个页面,因此您很可能没有延迟加载,但是当您推送页面或类似的任何内容时,您没有导入页面以使用和你只是将页面名称作为字符串传递然后你是延迟加载。
因此,如果您使用延迟加载,则需要从 app.module.ts
声明和 entryComponents 中删除所有页面导入和声明。
如果您不是在每个页面文件夹中延迟加载,您需要删除 <page>.module.ts
并从页面 .ts
文件中删除 @IonicPage()
。