Неожиданное значение «undefined», импортированное модулем «SharedModule» - PullRequest
0 голосов
/ 16 ноября 2018

В угловом приложении я хотел бы использовать один и тот же компонент несколько раз.

Компонент, который используется несколько раз, - 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 и любом другом компоненте библиотеки, где бы я ни находилсяхочу.

Итак, я пытаюсь импортировать NgiDynamicFormsModule в SharedModule .. И общий модуль имеет следующее,

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 голосов
/ 16 ноября 2018

Вы импортировали SharedModule по пути, начинающемуся с src/.Попробуйте изменить путь на относительный путь: что-то, начинающееся с ./../.Также измените операторы импорта в SharedModule.

...