Краткий ответ: не так, как вы надеетесь.
Проблема в том, что React - это Javascript, а ваш CSS не обрабатывается Javascript.
Вы можете быть сохранены, если вы компилируете CSS - например, из SCSS - вы можете создать файл, т.е. env-vars.scss
, и пусть она определяет переменную типа $basePath
, устанавливая ее на /my-cool-path/
. (как $basePath: "/my-cool-path/";
)
Импортируйте этот файл в ваш основной файл scss, и пусть git (или любой другой репозиторий, который вы используете) игнорирует этот файл. Затем вы можете вручную восстановить этот файл на сервере, установив для $basePath
значение /
($basePath: "/";
).
Затем вы можете использовать $ basePath в ваших URL в scss, например, background-image: url($basePath + "img/some-background.png");
Когда скомпилируется scss, он извлекает переменную из этого файла, и если ваше хранилище игнорирует его, вы можете создавать различные значения в зависимости от среды, в которой вы запускаете компиляцию.
Однако сборка с react-scripts start
и react-scripts build
может также предоставить вам способ установить переменную ENV и импортировать ее в ваш scss, но я не совсем знаком с этим, поэтому мне придется направить вас в Google за это я боюсь.
Если вы не компилируете свой CSS из препроцессора, это будет более сложной задачей.