КАК ЗАМЕНИТЬ% PUBLIC_URL%
По умолчанию приложение Create React создает сборку, если ваше приложение размещено в корневом каталоге сервера. example.com
Если ваш веб-сайт не обслуживается из этого корня (возможно, вы хотите обслуживать с example.com/relativepath
, вы можете переопределить это, указав домашнюю страницу в вашем package.json
"homepage": "http://example.com/relativepath",
Это позволит Create React App правильно определить корневой путь для использования в сгенерированном HTML-файле.
Однако в вашем случае, я думаю, вы получите ошибку 404, потому что Azure пытается найти index.html (или какой-то другой index. * Named). Чтобы это исправить, Azure необходимо знать, как передать намеченный маршрут к единственному index.html, расположенному в корне сайта. Создайте новый файл с именем web.config
внутри папки /site/wwwroot
со следующим содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="React Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Это скажет Azure переписать все URL, как если бы они указывали на наш корневой файл, и наше приложение SPA может правильно обрабатывать ссылки.
Ссылки:
Надеюсь, это поможет вам