Я работаю над небольшим проектом React, который создается, а затем переносится в более крупное приложение. Чтобы было ясно, у меня нет прав или полномочий изменить то, что я собираюсь изложить. Приложение создается и развертывается так, как оно есть, и я не могу изменить то, как мой проект вписывается в более крупное приложение, частью которого оно является. Однако я могу внести незначительные улучшения в наши этапы сборки, которые подготовят наш проект к интеграции в родительское приложение.
Мой проект React для команд - это проект CRA, созданный с помощью веб-пакета. После создания приложения файлы CSS и JS, созданные в веб-пакете, сохраняются и размещаются в Azure. После завершения этой части развертывания другое приложение создает файл load.js
, на который ссылаются и который используется в основных приложениях React index.html
, для извлечения нашего кода. Чтобы уточнить, наши файлы размещаются на сервере Azure, домен которого отличается от основного приложения.
В какой-то момент в процессе настройки нашего небольшого проекта для работы в основном приложении React в файле main.[hash].js
была обнаружена ошибка, которая не позволяла ему работать должным образом. В частности, существует проблема со следующей строкой:
u.src=e.p+"static/js/"+({}[t]||t)+"."+{0:"bc79965c"}[t]+".chunk.js";
Чтобы заставить наше приложение работать в dev (и, в конечном итоге, в рабочей среде), нам пришлось создать шаг развертывания, который ищет в main.[hash].js
файле "u.src=e.p"
и заменяет его на "u.src={insert the root of our hosted project files from Azure}"
.
Однако сегодня я дополнительно проверил код main...js
, чтобы попытаться выяснить точку переменной e.p
. Я заметил, что webpack определяет e.p
как просто "/" или ожидаемый корень проекта. Код нарушителя пытается получить значение для root, чтобы найти соответствующий файл chunk.js
, который должен быть связан с файлом main.js
. В нашем случае chunk.js
не находится в корневой папке, поскольку ни он, ни наш основной файл не размещены в статической папке родительского проекта React.
Мой вопрос прост - в конфигурационном файле веб-пакета (или другого), есть ли какой-нибудь способ, которым я могу указать, каким должен быть корневой путь при создании этих файлов? В частности, есть ли способ переопределить, какое значение хранится в минимизированном значении e.p
нашего main...js
файла, выведенного веб-пакетом, чтобы он предоставил полный URL-адрес, который я могу указать?
Кроме того, я избавлюсь от длинного объяснения, но вывод нашего приложения в блоке <iframe />
невозможен. Это не правдоподобное решение в нашем контексте.
ЗАМЕЧАНИЯ ПО ОТВЕТУ на Мурило Круз
Я уже знал о свойстве "homepage": "http://www.myhomepage.com/relativePath"
, но это не решение. Это используется для добавления относительного пути к процессу. Конечно, я попытался добавить наш веб-адрес в свойство пакета homepage
, но это не решило проблему.