找不到e的组件工厂。你有没有把它添加到@ NgModule.entryComponents?

时间:2018-05-29 13:03:11

标签: angular typescript ionic-framework module ionic3

我最近将我的Ionic 3应用程序更改为Lazy Loading模式,但是“我在构建应用程序时遇到了问题。当我使用 ionic-serve 运行应用程序时,它运行良好,但是当我构建应用程序时,会在隐藏启动画面时显示此消息:

  

没有为e发现组件工厂。你有没有把它添加到@ NgModule.entryComponents?

以下任何脚本都显示此消息:

"ionic:build:test-local6": "ionic-app-scripts build android",
"ionic:build:test-local5": "ionic-app-scripts build android --aot",
"ionic:build:test-local4": "ionic cordova build android --aot --optimizejs",
"ionic:build:test-local2": "ionic-app-scripts android --prod --release",
"ionic:build:test-local3": "ionic cordova build android --prod",
"ionic:build:test-local": "ionic cordova build android --prod --release",

这是我的app-scripts版本: “devDependencies”:{     “@ ionic / app-scripts”:“^ 3.1.6”, }

这是我的档案:

components.module.ts

import { NgModule } from '@angular/core';
import { IonicModule } from 'ionic-angular';

//Components
import * as Components from './components';

@NgModule({
entryComponents: [
    Components.Component1,
    Components.Component2,
    Components.Component3  
],
exports: [
     Components.Component1,
    Components.Component2,
    Components.Component3     
],
declarations: [
    Components.Component1,
    Components.Component2,
    Components.Component3     
],
imports: [
 IonicModule
],
})
export class ComponentsModule {}

checklist.module.ts

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';

import * as Pages from './../pages';
import { PipesModule } from '../../pipes/pipes.module';
import { ComponentsModule } from '../../components/components.module';


@NgModule({
exports: [
    Pages.ChecklistPage,
],
declarations: [
    Pages.ChecklistPage,
],
imports: [
    ComponentsModule,
    PipesModule,
  IonicPageModule.forChild(Pages.ChecklistPage),
],
  })
export class ChecklistPageModule {}

我一直在网上搜索我的问题的解决方案,但没有一个对我有用。

更新

我最近发现签署apk会导致此错误发生。一个非签名的apk总是有效。

这是我的签名脚本:

#Create signed apk
/c/Program\ Files/Java/jdk1.8.0_161/bin/jarsigner.exe -verbose -sigalg SHA1withRSA -digestalg SHA1 -storepass $password -keystore $keystorePath $releaseUnsignedPath $alias 

#Rename and verify signed apk
$zipalignPath -f -v 4 $releaseUnsignedPath $releaseSignedApk

1 个答案:

答案 0 :(得分:0)

我发现了问题。它与模块配置无关。我错过了在应用程序上引用一个页面链接。

//this.navCtrl.setRoot(MenuPage); 
this.navCtrl.setRoot('MenuPage');   

感谢您的帮助:D