@Drovosek01

Как в Angular определить это локально собранный проект или проект открытый на проде?

Доброго времени суток.

Есть следующая ситуация:
В проекте используется Angular PDF Viewer - https://github.com/VadimDez/ng2-pdf-viewer
Для его работы используется вот такая конструкция, как в примере документации:
(<any>window).pdfWorkerSrc = 'assets/scripts/pdf.worker.min.js';


Проблема:
На локально собранном фронте все работает нормально.
На собранном и запущенном на проде фронте это не работает, потому что этот проект на сервере открывается не от корня домена (т.е. не от mysite.org), а несколько глубже (т.е. от mysite.org/some-path/another-path/). Соответственно при указанной выше js конструкции приложение пытается получить этот PDF Worker от корня, т.е. от mysite.org/assets/scripts/pdf.worker.min.js, а нужно от mysite.org/some-path/another-path/assets/scripts/pdf.worker.min.js
Если я в коде выше поменяю строку assets/scripts/pdf.worker.min.js на
some-path/another-path/assets/scripts/pdf.worker.min.js
, то это перестанет работать на локально собранном фронте.

Соответственно, как я понимаю, чтобы решить эту проблему мне нужно знать когда фронт собирается локально и когда он билдится. Как это узнать из кода компонента?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
KickeRocK
@KickeRocK
FrontFinish
Можно по переменным среды проверить.
Но я бы явно ему сказал какую ссылку использовать. Из environment'a взять - apiUrl
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы