Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot determine the module for class X in X.ts! Add X to the NgModule to fix it error in ionic2

I am facing an issue when I try to build my app using the following command :

ionic cordova run android --prod --release

Everything runs fine if I run the command as below:

ionic cordova run android

The error Iam getting is :

Error: Cannot determine the module for class CartItemsPage in C:/test/src/pages/cart/cart-items.ts! Add CartItemsPage to the NgModule to fix it. Cannot determine the module for class ItemsPage in C:/test/src/pages/items/items.ts! Add ItemsPage to th e NgModule to fix it. Cannot determine the module for class UserHomePage in C:/test/src/pages/user-home/user-home.ts! Add User HomePage to the NgModule to fix it. Cannot determine the module for class ForgotPasswordPage in C:/test/src/pages/forgot-password/forgot-pas sword.ts! Add ForgotPasswordPage to the NgModule to fix it. Cannot determine the module for class LoginPage in C:/test/src/pages/login/login.ts! Add LoginPage to th e NgModule to fix it. Cannot determine the module for class SignupPage in C:/test/src/pages/signup/signup.ts! Add SignupPage t o the NgModule to fix it. Cannot determine the module for class WelcomePage in C:/test/src/pages/welcome/welcome.ts! Add WelcomePa ge to the NgModule to fix it. Cannot determine the module for class PincodePage in C:/test/src/pages/pincode/pincode.ts! Add PincodePa ge to the NgModule to fix it. Cannot determine the module for class AppHomePage in C:/test/src/pages/app-home/app-home.ts! Add AppHome Page to the NgModule to fix it. Cannot determine the module for class ProfilePage in C:/test/src/pages/profile/profile.ts! Add ProfilePa ge to the NgModule to fix it. Cannot determine the module for class OrderDetailPage in C:/test/src/pages/myorders/order-detail.ts! Add OrderDetailPage to the NgModule to fix it. Cannot determine the module for class MyOrdersPage in C:/test/src/pages/myorders/myorders.ts! Add MyOrde rsPage to the NgModule to fix it. Cannot determine the module for class LogoutPage in C:/test/src/pages/logout/logout.ts! Add LogoutPage t o the NgModule to fix it. Cannot determine the module for class MyApp in C:/test/src/app/app.component.ts! Add MyApp to the NgModu le to fix it. Cannot determine the module for class RemoveUnderscorePipe in C:/test/src/utils/pipes/RemoveUnderscore.t s! Add RemoveUnderscorePipe to the NgModule to fix it.

but I have added all my pages and pipes to app.module.ts as below :

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

If u see my app.module.ts, I have added components and pipes to entrycomponents and declarations. Is there anything I am missing for production flag. How can I resolve this issue?

like image 944
user1188867 Avatar asked Sep 20 '17 16:09

user1188867


3 Answers

elaborating on answer by @[Thom Kiesewetter]

It could also be a path casing issue reference used in the module or in routes or anywhere else

e.g path was

import { EmployeeComponent } from "./Entities/employee.component";

instead of

import { EmployeeComponent } from "./entities/employee.component";

where the real path was "entities" and not "Entities"

like image 56
Ram Avatar answered Oct 21 '22 10:10

Ram


This could also be a filename casing problem. see https://github.com/angular/angular-cli/issues/10732

like image 16
Thom Kiesewetter Avatar answered Oct 21 '22 10:10

Thom Kiesewetter


Changed declarations to pages like below and it worked.

declarations: pages

I got the answer at :https://forum.ionicframework.com/t/error-while-running-the-ionic3-app-in-production-mode/106294

like image 5
user1188867 Avatar answered Oct 21 '22 11:10

user1188867