Можно ли визуализировать разные HTML для разных сред, используя реагировать CRA - PullRequest
0 голосов
/ 29 июня 2018

Create React App генерирует статический HTML, который мы используем для привязки наших компонентов. Мне интересно, можем ли мы изменить содержание в зависимости от среды, в которой мы находимся.

<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
  <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
  <title>React App</title>
</head>
<body>
  <div id="root"></div>
</body>

Например, если я могу иметь заголовок как "develop" & "production" в зависимости от того, где работает приложение реагирования?

Может ли это быть достигнуто только с помощью файла конфигурации activjs env без рендеринга на стороне сервера?

edit: ... и без извлечения и работы с конфигурацией webpack?

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Вам лучше запустить npm run eject в вашем объекте CRA. вы найдете папку с именем config, чтобы изменить HtmlWebpackPlugin с webpack.config.dev.js и webpack.config.prod.js:

…
new HtmlWebpackPlugin({
  inject: true,
  template: **CHNAGE ME**,
…
0 голосов
/ 29 июня 2018

У меня есть решение, которое может быть сделано без использования переменных среды с предположением ваши URL разработки и производства отличаются

Вы можете получить текущий URL-адрес с window.location.href, и, основываясь на URL-адресе, вы можете изменить заголовок приложения реагирования.

Однако я считаю, что переменные среды будут лучшим решением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...