npm 如何将version设置为前端静态内容构建的路径?

bnl4lu3b  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(96)

我希望进行增量前端部署,以确保在每次发布过程中不会出现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

3z6pesqy

3z6pesqy1#

我为这个想法创建了一个包。请告诉我,如果你有更多的好主意或建议。https://github.com/im-bravo/posthtml-versioning-path

相关问题