У меня есть 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
для публикации необходимых мне компонентов. что-то вроде этого:
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);