Импорт 2 Angular проектов в другой javascript проект - PullRequest
0 голосов
/ 04 мая 2020

У меня есть 2 отдельных Angular проекта. Для каждого из них я запускаю следующую команду CLI:

ng build --prod --output-hashing=none

Создает следующие файлы для каждого проекта:

runtime.js polyfills.js main.js

Теперь я хочу импортировать проекты в другой проект, который является простым javascript проектом (не Angular проектом).

Я знаю, что порядок важен и что runtime.js и polyfills.js появляются дважды. Поэтому я убедился, что эти файлы одинаковы (потому что я использую одну и ту же версию Angular в обоих проектах).

Импорт в простом проекте javascript выглядит примерно так:

<script src="runtime.js"></script>
<script src="polyfills.js"></script>
<script src="main1.js"></script>
<script src="main2.js"></script>

К сожалению, только один из проектов, кажется, работает таким образом (и нет никаких исключений). Если я импортирую только main1.js или только main2.js, они будут работать правильно.

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

ОБНОВЛЕНИЕ:

Не уверен, что это актуально, но в каждом Angular проекте я использую @angular/elements для публикации sh компонентов Я нуждаюсь. примерно так:

export class AppModule {
  constructor(private injector: Injector) {
    const elem = createCustomElement(MyFirstComponent, { injector });
    customElements.define('my-first-element', elem);
  }
  ngDoBootstrap() {}
}

Затем в проекте javascript я использую это так:

var elem1 = document.createElement('my-first-element');
container.append(elem1);
var elem2 = document.createElement('my-second-element');
container.append(elem2);

1 Ответ

0 голосов
/ 04 мая 2020

Отметьте тег <app-root></app-root> в своем индексе. html. Вам может понадобиться 2 разных селектора для вашего AppComponent:

// app.component.ts for the first project
selector: 'app-root-one',


// app.component.ts for the second project
selector: 'app-root-two',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...