错误:离子cordova运行android --prod --release

时间:2017-09-20 08:56:09

标签: angular ionic-framework ionic2 angular2-directives

当我尝试使用以下命令构建时。如何解决这个问题。我怀疑这个问题是因为离子已经更新而发生的。

即使我尝试从指令中删除AccountPage,下一页ConfirmationPage也会出现问题。

ionic cordova run android --prod --release

错误 enter image description here

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 {}

2 个答案:

答案 0 :(得分:1)

使用WHERE

时,您需要从所有页面中删除<page-name>.module.ts文件

从生成的文件夹中删除模块文件,并从--prod.文件中删除@IonicPage()并删除<page-name>.ts

答案 1 :(得分:1)

在做Paresh所说的事之前,您需要了解您正在使用的架构。你是否懒得加载你的网页?

最新版本的ionic-cli会生成可供延迟加载的页面,其中包含特定页面的模块和页面@IonicPage()文件中的.ts装饰器。由于您在app.module上声明了每个页面,因此您很有可能不会延迟加载,但是当您正在推送网页或其他类似内容时,您和&# #39;请勿导入要使用的页面,并且只是将页面名称作为字符串传递,然后您就会延迟加载。

因此,如果您正在使用延迟加载,那么您需要从app.module.ts声明和entryComponents中删除所有页面的导入和声明。

如果您未在每个页面文件夹中延迟加载,则需要删除<page>.module.ts并从页面@IonicPage()文件中删除.ts