内容简介:最近写了本《Git 进阶指南》的 Gitbook,但(可能)由于 Gitbook CDN 上的缓存过于顽固,所以需要在访问 Gitbook 时,自动加上清缓存参数React 代码如下,当访问站点
最近写了本《Git 进阶指南》的 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 = () => (
<Router>
<div>
<Route exact path="/" component={Home} />
<Route path="/gb" component={Gitbook} />
</div>
</Router>
);
const Gitbook = () => {
window.location = `https://gb.yekai.net/?v=${process.env.REACT_APP_VERSION}`;
return (
<div className="loading-box"></div>
);
};
export default App;
复制代码
CRA 文档提到 process.env 必须使用 REACT_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
同步到远程主机即可。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- PostgreSQL 环境变量相关代码解析
- 使用代码仓库管理 GitLab CI 变量
- Thinkphp5框架变量覆盖导致远程代码执行
- [红日安全]代码审计Day14 – 从变量覆盖到getshell
- UWA GOT (Online) 支持自定义变量和代码段检测—你关注的性能瓶颈无处遁形!
- 全局变量,静态全局变量,局部变量,静态局部变量
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
WWW信息体系结构(影印版第2版)
Louis Rosenfeld / 清华大学出版社 / 2003-6 / 49.8
如今的网站和内联网已经变得比以前越来越大,越来越有价值,而且越来越复杂,同时其用户也变得更忙,也更加不能容忍错误的发生。数目庞大的信息、快速的变化、新兴的技术和公司策略是设计师、信息体系结构构建师和网站管理员必须面对的事情,而这些已经让某些网让看起来像是个快速增长却规划很差的城市——到处都是路,却无法导航。规划精良的信息体系结构当前正是最关键性的。 本书介绍的是如何使用美学和机械学的理念创建......一起来看看 《WWW信息体系结构(影印版第2版)》 这本书的介绍吧!