我希望进行增量前端部署,以确保在每次发布过程中不会出现HTML和其他资源(如CSS和JS)版本不一致导致的显示崩溃。
如何构建这样的前端静态内容?(对于混合前端架构,ReactJS +??)的情况下,
期望行为
当我像这样运行build时,
npm run build --tag=[version_tag]
# or, define version_tag from some config file under project.
index.html内容
<script src="/[version_tag]/static/js/main.js"></script>
<link type="text/css" rel="stylesheet" href="/[version_tag]/static/css/main.css">
构建结果文件结构如下
dist/[version_tag]/static/js/main.js
dist/[version_tag]/static/css/main.css
实际部署结果(CI-CD范围)
/[version1]/static/js/main.js
/[version1]/static/css/main.css
/[version1]/index.html
/[version2]/static/js/main.js
/[version2]/static/css/main.css
/[version2]/index.html
预期的NGINX规则请求路径= /index.html -> ref /[version2]/index.html
预期的NGINX规则-回滚请求路径= /index.html -> ref /[version1]/index.html
1条答案
按热度按时间3z6pesqy1#
我为这个想法创建了一个包。请告诉我,如果你有更多的好主意或建议。https://github.com/im-bravo/posthtml-versioning-path