博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在 React 代码中使用自动更新的 CRA 环境变量
阅读量:5799 次
发布时间:2019-06-18

本文共 1173 字,大约阅读时间需要 3 分钟。

最近写了本《》的 Gitbook,但(可能)由于 Gitbook CDN 上的缓存过于顽固,所以需要在访问 Gitbook 时,自动加上清缓存参数 ?v=版本号

React 代码如下,当访问站点 /gb 时,自动跳转外站并带上版本号:

import React from "react";import { BrowserRouter as Router, Route } from "react-router-dom";import Home from "./Home";const App = () => (  
);const Gitbook = () => { window.location = `https://gb.yekai.net/?v=${process.env.REACT_APP_VERSION}`; return (
);};export default App;复制代码

,所以我们这里命名为 REACT_APP_VERSION

而 version 的值,则希望能在每次运行发布时自动更新。

具体 package.json 定义如下:

{  "name": "yekai-net",  "version": "1.1.2",  "scripts": {    "start": "react-scripts start",    "build": "react-scripts build",    "test": "react-scripts test --env=jsdom",    "eject": "react-scripts eject",    "publish": "REACT_APP_VERSION=$(npm version patch) npm run build && rsync -av ./build yekai:/root/centos-config/www/yekai.net/"  }}复制代码

当运行 npm run publish 时,会先使用 npm version patch 命令自动更新项目版本号(此例是 1.1.2 patch 后为 1.1.3),并设置给环境变量 REACT_APP_VERSION

所以后面的 npm run build 能将 React 代码中的 ${process.env.REACT_APP_VERSION} 变量,编译成具体的 version 值 1.1.3。

最后,使用 rsync 同步到远程主机即可。

转载于:https://juejin.im/post/5c5671386fb9a04a04417693

你可能感兴趣的文章
30分钟Git命令“从入门到放弃”
查看>>
nginx : TCP代理和负载均衡的stream模块
查看>>
MYSQL数据库间同步数据
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
行为型模式:观察者模式
查看>>
让前端小姐姐愉快地开发表单
查看>>
Dubbo笔记(四)
查看>>
Web前端JQuery入门实战案例
查看>>
Android开发教程 - 使用Data Binding(一) 介绍
查看>>
java B2B2C Springboot电子商城系统- SSO单点登录之OAuth2.0 登出流程(3)
查看>>
12月26日云栖精选夜读:CDN新品发布:阿里云SCDN安全加速开放公测
查看>>
USB 通信原理
查看>>
7zZip zip RAR iOS
查看>>
date命令的详细用法!
查看>>
分布式存储ceph集群部署
查看>>
UiAutomator源码分析之UiAutomatorBridge框架
查看>>
python 开发之selenium
查看>>
Xcode3.2.5中找不到Mac OS X - Command Line Utility -...
查看>>
css的div垂直居中的方法,百分比div垂直居中
查看>>