当你们把网站的静态资源(css、js...)部署到七牛、又拍这种云存储上时,是如何做版本控制的?

2018-06-23 20:11:48 +08:00
 SimbaPeng
5649 次点击
所在节点    程序员
18 条回复
qiayue
2018-06-23 20:17:03 +08:00
目录里携带版本号
LanFomalhaut
2018-06-23 20:21:23 +08:00
不开忽略参数.这样直接 .js?v=1.0 .js?v=1.1
SimbaPeng
2018-06-23 20:24:51 +08:00
@qiayue
@LanFomalhaut

你们说的这些都是手动管理吧,感觉前端自动化和云存储结合挺麻烦的
xiaoz
2018-06-23 20:41:41 +08:00
@SimbaPeng 是挺麻烦的,更新个静态资源还要去后台刷新。
tomczhen
2018-06-23 20:46:41 +08:00
文件名中带 hash 才行,参数不靠谱。
qiayue
2018-06-23 21:03:57 +08:00
有自动化方式,比如 5 楼的,这需要前端构建工具
gkiwi
2018-06-23 21:06:37 +08:00
hash 啊。。人肉版本的话可就可怕了~~
tomczhen
2018-06-23 21:16:43 +08:00
@gkiwi 上家公司,在我提出静态文件版本以及客户端缓存问题之后,选择的就是让前端人肉版本,因为领导和前端开发一致觉得 webpack 太麻烦了 :doge:。
gkiwi
2018-06-23 21:30:50 +08:00
@tomczhen
前端嫌弃 webpack 麻烦。。。

或许你可以让他们尝试下 parcel,这个是 0 配置化的,将生成后的文件直接扔到七牛上,然后 index.html 部署到自己的服务器就行。
pynix
2018-06-23 21:33:43 +08:00
hash
agoodob
2018-06-23 22:58:35 +08:00
围观~
Webpack + html-webpack-plugin 应该可以解决问题,无实战经验~

最近才刚用 Vue.js 2 + Ruby on Rails 5 开发了一个单页应用网站(网址就不贴了)
目前部署还是用 SFTP 传到服务器上 + 配置一下 Nginx 这样跑。
最近想试试部署到七牛试试,之前没弄过。mark 一下看看其他人怎么弄的。
OSF2E
2018-06-24 01:41:50 +08:00
@tomczhen 怕是这前端是兼职的吧
mdluo
2018-06-24 02:16:11 +08:00
这里大部分人说的都是缓存控制而不是版本控制,前端生成的静态资源不需要做版本控制,新的文件直接替换掉老的文件就好了。

部署到 CDN 用 CI 自动去完成。文件的 hash 命名可以参考 Webpack 文档关于 Cache 的章节。另外很多封装 Webpack 的工具默认就做好了 hash 配置,比如 create-react-app
nosay
2018-06-24 08:45:17 +08:00
自己的小站有这样的需求,但是是通过 webhook+后端语言实现的,比较繁琐,应该有更方便的方法,比如上面提到的 html-webpack-plugin,但是最为后端了解不多,有空补一下。
yuanfnadi
2018-06-24 11:00:25 +08:00
我是写了一个 webpack 七牛插件,webpack build 快完成的时候,把文件列表传到后端服务获取上传 token。然后前端再根据 token 上传到七牛。构建完成后就已经把全部 css 和 js 发布成功了。
yuanfnadi
2018-06-24 11:01:59 +08:00
文件名是 项目名称+uuid+版本 hash 理论上来说绝对不可能重复。

部署就是把 index.html 复制到 nginx 容器里部署。
grewer
2018-06-24 12:20:02 +08:00
webpack 是麻烦,但是会了以后,各种方便好么
sker101
2018-06-26 05:42:00 +08:00
前两天看了这个帖子 想了想平时每次都要手动传七牛的确是挺麻烦 就花了一天写了个插件
没用七牛官方的 SDK 自己实现了上传和获取的接口 要用的可以拿去试试

环境是 webpack 4 不确定 3 能不能用

https://github.com/yyss8/webpack-bundle-cdn-uploader

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/465310

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX