Способ узнать версию сборки приложения React - PullRequest
0 голосов
/ 09 октября 2019

Мы используем create-реакции-приложение для создания нашего клиентского приложения React. Мы разворачиваем приложение несколько раз в неделю. Мы хотели бы создавать версии для каждой сборки, чтобы мы могли проверить, какая версия находится в сети.

Я думаю добавить метатег с версией в файл index.html. Так что в настоящее время заголовок имеет:

<head>
  <meta charset="utf-8" />
  <link rel="icon" href="/favicon.ico" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <meta name="theme-color" content="#000000" />
  <meta name="description" content="Web site created using create-react-app" />
  <link rel="apple-touch-icon" href="logo192.png" />
  <link rel="manifest" href="/manifest.json" />
  <title>React App</title>
  <link href="/static/css/main.b100e6da.chunk.css" rel="stylesheet">
</head>

Что вы думаете о добавлении мета, подобной этой:

<meta name="build-version" content="2019-10-08-15-42" />

С контентом, использующим формат: YYYY-MM-DD-HH-ММ

Что вы думаете об этой идее? Или есть другой способ версии каждой сборки.

Если это хорошая идея, можете ли вы помочь мне с некоторыми идеями о том, как это сделать?

Ответы [ 3 ]

2 голосов
/ 09 октября 2019

Я придерживаюсь следующего подхода (добавлю имя ветки git в версии):

# First add '<!-- version: %VERSION% -->' to your public/index.html file
$ yarn run build # npm run build (if using npm)
$ VERSION=`git rev-parse --abbrev-ref HEAD`
$ sed -i -- "s/%VERSION%/$VERSION/g" build/index.html

Теперь ваш build/index.html должен содержать <!-- version: name-of-the-current-branch -->.

source


Для удобства вы можете добавить команду version в package.json:

"build": "VERSION=`git rev-parse --abbrev-ref HEAD` && 
         react-scripts build && 
         sed -i -- 's/%VERSION%/$VERSION/g' build/index.html"

Теперь вы можете просто запустить:

yarn build # or, npm run build
0 голосов
/ 17 октября 2019

Благодаря помощи @Bhojendra Rauniyar я получил это решение:

  1. Добавьте эту строку в public/index.html:

<meta build-version="%REACTBUILDVERSION%"/>

Запустите эти 3 команды:
REACTBUILDVERSION=$(date +%Y-%m-%d)-$(date +%T)
sed -i -- 's/%REACTBUILDVERSION%/'$REACTBUILDVERSION'/g' build/index.html
echo React Build Version = $REACTBUILDVERSION

Для удобства эти 3 команды могут быть добавлены в сборку package.json:

Оригинальная сборкав package.json:

"build": "react-scripts build",

НОВАЯ сборка в package.json:

"build":
     "react-scripts build &&
      REACTBUILDVERSION=$(date +%Y-%m-%d)-$(date +%T) &&
      sed -i -- 's/%REACTBUILDVERSION%/'$REACTBUILDVERSION'/g' build/index.html &&
      echo React Build Version = $REACTBUILDVERSION",

После сборки вы можетесм. этот метатег в build/index.html:

<meta build-version="2019-10-16-16:31:43"/>
0 голосов
/ 09 октября 2019

Вы также можете добавить пару ключей версии в свой файл package.json "version": "1.0.0", а затем вы можете прочитать ее в любом месте своего кода следующим образом let packageJson = require('./package.json'), тогда выполнение packageJson.version даст вам доступ к установленной версиив файле package.json подобное происходит, когда версия помещается в app.json

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