web-dev-qa-db-ja.com

X.tsでクラスXのモジュールを特定できません! NgModuleにXを追加して、ionic2のエラーを修正します

次のコマンドを使用してアプリをビルドしようとすると、問題が発生します。

ionic cordova run Android --prod --release

次のようにコマンドを実行すると、すべてが正常に実行されます。

ionic cordova run Android

Iamの取得エラーは次のとおりです。

エラー:C:/test/src/pages/cart/cart-items.tsのCartItemsPageクラスのモジュールを特定できません! CartItemsPageをNgModuleに追加して修正します。 C:/test/src/pages/items/items.tsのItemsItemクラスのモジュールを特定できません! ItemsPageをNgModuleに追加して修正します。 C:/test/src/pages/user-home/user-home.tsのクラスUserHomePageのモジュールを特定できません!ユーザーホームページをNgModuleに追加して修正します。 C:/ test/src/pages/forgot-password/forgot-pas sword.tsのクラスForgotPasswordPageのモジュールを判別できません! ForgotPasswordPageをNgModuleに追加して修正します。 C:/test/src/pages/login/login.tsのクラスLoginPageのモジュールを特定できません! LoginPageをNgModuleに追加して修正します。 C:/test/src/pages/signup/signup.tsのSignupPageクラスのモジュールを特定できません! NgModuleにSignupPageを追加して修正します。 C:/test/src/pages/welcome/welcome.tsにあるWelcomePageクラスのモジュールを特定できません! WelcomePa geをNgModuleに追加して修正します。 C:/test/src/pages/pincode/pincode.tsにあるPincodePageクラスのモジュールを特定できません! PincodePa geをNgModuleに追加して修正します。 C:/test/src/pages/app-home/app-home.tsのクラスAppHomePageのモジュールを判別できません! AppHomeページをNgModuleに追加して修正します。 C:/test/src/pages/profile/profile.tsのクラスProfilePageのモジュールを判別できません! ProfilePa geをNgModuleに追加して修正します。 C:/test/src/pages/myorders/order-detail.tsのOrderOrderPageクラスのモジュールを特定できません! OrderDetailPageをNgModuleに追加して修正します。 C:/test/src/pages/myorders/myorders.tsのクラスMyOrdersPageのモジュールを判別できません! MyOrde rsPageをNgModuleに追加して修正します。 C:/test/src/pages/logout/logout.tsのクラスLogoutPageのモジュールを判別できません! NgModuleにLogoutPageを追加して修正します。 C:/test/src/app/app.component.tsのクラスMyAppのモジュールを判別できません! NgModuファイルにMyAppを追加して修正します。 C:/test/src/utils/pipes/RemoveUnderscore.tのクラスRemoveUnderscorePipeのモジュールを特定できません! RemoveUnderscorePipeをNgModuleに追加して修正します。

しかし、私はすべてのページとパイプを以下のようにapp.module.tsに追加しました:

// Imports

// The translate loader needs to know where to load i18n files
// in Ionic's static asset pipeline.
export function HttpLoaderFactory(http: Http) {
  return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}


let pages:any = [
  MyApp,
  LoginPage,
  UserHomePage,
  SignupPage,
  AppHomePage,
  WelcomePage,
  ItemsPage,
  CartItemsPage,
  ProfilePage,
  MyOrdersPage,
  OrderDetailPage,
  ForgotPasswordPage,
  PincodePage,
  LogoutPage
];

let pipes = [RemoveUnderscorePipe];

export function declarations() {
  return pages.concat(pipes);
}

export function entryComponents() {
  return pages;
}

export function providers() {
  return [
    Api,
    ItemsService,
    UserService,
    ToastService,
    CartService,
    OrdersService,
    TokenService,
    Camera,
    GoogleMaps,
    SplashScreen,
    StatusBar,

    // Keep this to enable Ionic's runtime error handling during development
    {provide: ErrorHandler, useClass: IonicErrorHandler}
  ];
}


@NgModule({
  declarations: declarations(),
  imports: [
    BrowserModule,
    HttpModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [Http]
      }
    }),
    IonicModule.forRoot(MyApp),
    IonicStorageModule.forRoot()
  ],
  bootstrap: [IonicApp],
  entryComponents: entryComponents(),
  providers: providers()
})
export class AppModule {
}

App.module.tsが表示される場合、entrycomponentsと宣言にコンポーネントとパイプを追加しています。生産フラグに足りないものはありますか。この問題を解決するにはどうすればよいですか?

7
user1188867

宣言を以下のようなページに変更し、機能しました。

declarations: pages

私は答えを得ました: https://forum.ionicframework.com/t/error-while-running-the-ionic3-app-in-production-mode/106294

1
user1188867

これはファイル名の大文字小文字の問題である可能性もあります。 https://github.com/angular/angular-cli/issues/10732 を参照してください

8