模块在两个地方声明

时间:2017-09-08 14:44:04

标签: angular ionic2

我在调试模式下构建了一个应用程序,该应用程序在设备上工作正常,但是当我尝试进行发布构建时,我遇到了这种类型的错误:

enter image description here

我使用离子生成页面my-page生成一个页面 它有4个文件

  • MY-page.html中
  • MY-page.scss
  • MY-page.module.ts
  • MY-page.ts

我在app.ts文件中声明了这个:

import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { my-page} from 'pages/my-page.my-page';

@NgModule({
    declarations: [
        MyApp,
        my-page
      ]
 imports: [
        BrowserModule,
        IonicModule.forRoot(MyApp)
    ],
    bootstrap: [IonicApp],
    entryComponents: [
          MyApp,
        my-page
       ]

      providers: [
        StatusBar,
        SplashScreen,
        { provide: ErrorHandler, useClass: IonicErrorHandler }
    ]
})
export class AppModule { }

有人可以建议我如何修复此问题并进行生产构建吗?

1 个答案:

答案 0 :(得分:0)

您正在制作模块,我的页面很可能在该模块中声明。除此之外,您的导入路径似乎不正确import { my-page } from 'pages/my-page'可能是您正在寻找的位置。

如果该组件是 my-page.module.ts declarations的一部分,则需要从您的条目组件中删除my-page,并且它是可能你在声明中也不需要它。而是导入模块:

import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { MyPageModule } from 'pages/my-page.module'; // this assumes '.my-page.module.ts' has 'export class MyPageModule { }' at the end.

@NgModule({
    declarations: [
        MyApp
      ]
 imports: [
        BrowserModule,
        MyPageModule,
        IonicModule.forRoot(MyApp)
    ],
    bootstrap: [IonicApp],
    entryComponents: [
          MyApp
       ]

      providers: [
        StatusBar,
        SplashScreen,
        { provide: ErrorHandler, useClass: IonicErrorHandler }
    ]
})
export class AppModule { }