Могу ли я создать пользовательский элемент приложения с модулями отложенной загрузки?

#angular

#angular

Вопрос:

В Angular у меня есть одно приложение, в котором app.module использует отложенную загрузку для загрузки дочерних модулей, и я хочу использовать это приложение angular в качестве пользовательского элемента, чтобы я мог использовать его в качестве внешнего компонента для другого приложения.

Я знаю, что пользовательские элементы могут быть созданы в отдельном приложении с помощью app-root и заменить его нашим элементом, но когда я хочу целое приложение с модулями отложенной загрузки, это не будет работать, как не идентифицировать модули во время выполнения при обращении к пользовательскому элементу.

Чтобы понять, что такое пользовательский элемент, пожалуйста, обратитесь к ссылке ниже: https://angular.io/guide/elements

Комментарии:

1. вы хотите преобразовать отложенный загруженный компонент в угловые элементы, верно? чтобы вы могли использовать этот пользовательский элемент angular в любом веб-приложении.

2. У меня есть приложение с корневым модулем, но другие являются отложенными модулями, и когда я преобразую его в пользовательский элемент, он не поймет, какие другие модули нужно загружать, когда я передаю его в другое приложение.

3. Вы не превращаете ПРИЛОЖЕНИЕ ANGULAR в элемент. Это не так, как это работает.

Ответ №1:

Для загрузки дочерних элементов используйте loadChildren в пути маршрута и RouterModule.forRoot(routes)

например, маршрут.

  { path: 'upload', loadChildren: './upload-image/upload-image.module#UploadImageModule' }
 

Комментарии:

1. Я знаю, как выполнять отложенную загрузку, но знаете ли вы пользовательский элемент? как мы выполняем маршрутизацию в другом приложении и интегрируем для работы пользовательский элемент в качестве внешнего компонента?

2. что вы подразумеваете под другим приложением? это угловое приложение или другой фреймворк.

3. другое угловое приложение. чтобы хорошо понять, пожалуйста, найдите пользовательский элемент в angular или перейдите по этой ссылке angular.io/guide/elements

Ответ №2:

Я думаю, что то, что вы хотите сделать, это создать библиотеку, которую можно использовать как зависимость от npm (например) в других приложениях.

Angular CLI имеет все необходимые для этого командные строки.

Вот простой урок.

Комментарии:

1. Я хочу, чтобы весь модуль с отложенной загрузкой в приложении работал как пользовательский элемент.