模块“ SharedModule”导入的意外值“ undefined”

时间:2018-11-16 08:18:12

标签: javascript angular typescript angular4-router

在有角度的应用程序中,我想多次使用同一组件。

被多次使用的组件是DynamicFormBuilderComponent,它已在DynamicFormModule中导出。.

这里的应用程序处于库结构中,因此我为每个应用程序都有一个单独的模块。

DynamicFormModule 具有以下内容,

import { NgModule } from '@angular/core';
import { BrowserModule }                from '@angular/platform-browser';
import { DynamicFormBuilderComponent } from './dynamic-form-builder/dynamic-form-builder.component';


@NgModule({
  imports: [
    BrowserModule
  ],
  declarations: [DynamicFormBuilderComponent],
  exports: [DynamicFormBuilderComponent],
  entryComponents : [DynamicFormBuilderComponent]
})

export class NgiDynamicFormsModule { }

所以这是父项,我想在另一个库中的任何组件中使用 DynamicFormBuilderComponent

说我将在DynamicFormBuilderComponent库中使用此Template,并在需要的地方使用其他任何库的组件。

所以我试图在{strong> SharedModule 中导入NgiDynamicFormsModule。共享模块具有以下内容,

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';   
import { NgiDynamicFormsModule } from 'projects/ngi-dynamic-forms/src/public_api';

    @NgModule({
      imports: [
        CommonModule,
        NgiDynamicFormsModule
    ],

    declarations: [],
      exports: [NgiDynamicFormsModule],
    })
    export class SharedModule { }

我正在尝试将共享模块导入名为NgiTemplate的库中,

    import { CommonModule } from '@angular/common';
    import { NgiTemplateComponent } from './ngi-template.component';
    import { SharedModule } from 'src/app/shared/shared.module';

    @NgModule({
      imports: [
        CommonModule,
        SharedModule
      ],
      declarations: [NgiTemplateComponent],
      exports: [NgiTemplateComponent],
      entryComponents : [NgiTemplateComponent]
    })
    export class NgiTemplateModule { 

}

如果我按照这些步骤操作,那么我将得到错误提示,

Uncaught Error: Unexpected value 'undefined' imported by the module 'SharedModule'
    at syntaxError (compiler.js:1021)
    at compiler.js:10610
    at Array.forEach (<anonymous>)
    at CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (compiler.js:10579)
    at CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleSummary (compiler.js:10514)
    at compiler.js:10601
    at Array.forEach (<anonymous>)
    at CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (compiler.js:10579)
    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._loadModules (compiler.js:24428)
    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndComponents (compiler.js:24409)

我也一直在认真地寻找解决方案,但没有任何解决方案。

请帮助我清除此错误并在任何模块中使用dynamicform构建器组件。

1 个答案:

答案 0 :(得分:0)

您已从SharedModule开始的路径中导入src/。尝试将路径更改为相对路径:以./../开头的内容。还要在SharedModule中更改导入语句。