Как я могу создать файл javascript, содержащий модуль Angular 2, который может использоваться другими приложениями, но загружается во время выполнения непосредственно с централизованного сервера и НЕ связан с кодом конкретного приложения?
Думайте об этом как о CDN для библиотеки Angular 2. Требование состоит в том, чтобы потребители этой библиотеки включали один скрипт на свою страницу.
Это требование реализовать его таким образом, поэтому меня не интересуют какие-либо ответы, которые предлагают объединить библиотеку в выходные файлы отдельного приложения. Сценарий библиотеки должен быть загружен непосредственно с сервера библиотеки во время выполнения.
- Централизованное веб-приложение называется CustomAuth.
- CustomAuth имеет один модуль Angular 2 под названием
CustomAuthModule
. - CustomAuthModule предоставляет несколько сервисов и компонентов, которые могут использоваться внешними приложениями Angular 2.
Вот желаемый рабочий процесс (с высокого уровня).
- Разработчик хочет использовать CustomAuth в своем приложении Angular2 под названием BookLibrary.
- На главной странице разработчика они добавляют скрипт, который указывает на
http://server-url/CustomAuth/script
. Потребителю не нужно ничего знать о загрузчиках модулей, таких как systemjs или webpack. - В своем коде angular2 они импортируют данные из модуля CustomAuth (сервисы, компоненты и т. д.).
- Когда они компилируют свое приложение с использованием angular-cli, оно не будет включать код CustomAuth, а вместо этого будет предполагать, что оно будет загружено на лету во время выполнения.
Я провел много исследований по этому поводу, и мне не повезло понять это. Любая помощь будет принята с благодарностью.