У меня есть 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);