Shell 以语义格式查找React应用程序的生成版本

Shell 以语义格式查找React应用程序的生成版本,shell,build.gradle,version,npm-scripts,react-scripts,Shell,Build.gradle,Version,Npm Scripts,React Scripts,我想以语义格式创建版本号,它应该在为npm build构建时完成,并且它应该生成包含使用版本号的version.js的json文件。之后,我需要将版本号放入react web app头中。我想知道做这件事的最佳方法 !/bin/bash # Copy a .env.${NODE_ENV} file (ex: .env.production) as a .env file in the root folder. # if NODE_END is not set, will use 'develo

我想以语义格式创建版本号,它应该在为
npm build
构建时完成,并且它应该生成包含使用版本号的version.js的json文件。之后,我需要将版本号放入react web app头中。我想知道做这件事的最佳方法

!/bin/bash

# Copy a .env.${NODE_ENV} file (ex: .env.production) as a .env file in the root folder.
# if NODE_END is not set, will use 'development' as default

set -e # Exit with nonzero exit code if anything fails

ENV=dev
SOURCE_PREFIX="${PWD}/ops/.env."
TARGET="${PWD}/.env"

echo "== Start .env copy =="

# Setting ENV
if [ -z "${NODE_ENV}" ]
then
    echo "NODE_ENV environment variable is not set. Will default ENV to $ENV"
else
    ENV=${NODE_ENV}
    echo "ENV is set to NODE_ENV value '${NODE_ENV}'"
fi

ENV_FILE=$SOURCE_PREFIX$ENV


# Checking if env file exist
if [ ! -f $ENV_FILE ]; then
    echo "Expected config file '$ENV_FILE' not found. Stopping script."
    exit 1
fi

echo "Copying $ENV_FILE to $TARGET..."
cp $ENV_FILE $TARGET
package.json 外部文件
你的谢邦错了,你少了几个双引号-。
"start:dev": "NODE_ENV=dev npm run env && react-scripts start",
    "start:prod": "NODE_ENV=prod npm run env && react-scripts start",
    "env": "sh ops/env.sh",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
REACT_APP_ENV=dev
REACT_APP_COPYRIGHTTEXT=2018 @Famelike_Dev
REACT_APP_SOCKET_URL=http://localhost:8080
REACT_APP_SERVER_URL=http://localhost:8080