Как создать файлы сценариев Java только для выбранных модулей в Angular? - PullRequest
0 голосов
/ 12 октября 2019

Я создаю проект, который в настоящее время состоит из трех приложений.

Существует одно основное приложение и два вспомогательных приложения. Я пытаюсь использовать несколько модулей, созданных в приложении-помощнике, и динамически загружать его компоненты в основное приложение.

Когда модули, на которые я ссылаюсь, принадлежат одному и тому же приложению, они работают нормально. Но модули, которые я хочу загрузить, взяты из других вспомогательных приложений, выдает ошибку: ОШИБКА в ./src/app/modx/xyz/xyz.component.ts Модуль не найден: Ошибка: не удается разрешить '../. ./../../../helperapp1/src/app/mod1/mod1.module.js'

Структура каталогов моего приложения следующая:

-main-app
---src
-----app
------modx
-------xyz
-helperapp1
---src
-----app
------mod1

-helperapp1
---src
-----app

Некоторыефрагменты кода, которые я использовал для модуля в том же приложении (которое работает)

 ngAfterViewInit(): void {
      System.import('../modt.module.js').then((module) => {
          this.compiler.compileModuleAndAllComponentsAsync(module.ModtModule)
              .then((compiled) => {
                  const factory = compiled.componentFactories[0];
                  this.container.createComponent(factory);
              });
      });
  }

Код для загрузки модуля в вспомогательном приложении (которое выдает ошибку):

 ngAfterViewInit(): void {
      System.import('../../../../../helperapp1/src/app/mod1/mod1.module.js').then((module) => {
          this.compiler.compileModuleAndAllComponentsAsync(module.Mod1Module)
              .then((compiled) => {
                  const factory = compiled.componentFactories[0];
                  this.container.createComponent(factory);
              });
      });
  }

По мне, каквспомогательное приложение не будет присутствовать во время выполнения, когда основное приложение будет работать, поэтому webpack не может сгенерировать или использовать файл js модуля в другом приложении.

Для дальнейшего решения я подумал создатьФайл js модуля и поместите его в определенную папку в главном приложении, из которой он может ссылаться на js. Но как мы можем сгенерировать одиночные js модуля (включая его компоненты внутри) вспомогательного приложения.

Или если кто-то может поделиться любым другим подходом для его выполнения.

...