1
qiayue 2018-06-23 20:17:03 +08:00
目录里携带版本号
|
2
LanFomalhaut 2018-06-23 20:21:23 +08:00
不开忽略参数.这样直接 .js?v=1.0 .js?v=1.1
|
3
SimbaPeng OP |
5
tomczhen 2018-06-23 20:46:41 +08:00
文件名中带 hash 才行,参数不靠谱。
|
6
qiayue 2018-06-23 21:03:57 +08:00
有自动化方式,比如 5 楼的,这需要前端构建工具
|
7
gkiwi 2018-06-23 21:06:37 +08:00
hash 啊。。人肉版本的话可就可怕了~~
|
8
tomczhen 2018-06-23 21:16:43 +08:00
@gkiwi 上家公司,在我提出静态文件版本以及客户端缓存问题之后,选择的就是让前端人肉版本,因为领导和前端开发一致觉得 webpack 太麻烦了 :doge:。
|
9
gkiwi 2018-06-23 21:30:50 +08:00
|
10
pynix 2018-06-23 21:33:43 +08:00
hash
|
11
agoodob 2018-06-23 22:58:35 +08:00
围观~
Webpack + html-webpack-plugin 应该可以解决问题,无实战经验~ 最近才刚用 Vue.js 2 + Ruby on Rails 5 开发了一个单页应用网站(网址就不贴了) 目前部署还是用 SFTP 传到服务器上 + 配置一下 Nginx 这样跑。 最近想试试部署到七牛试试,之前没弄过。mark 一下看看其他人怎么弄的。 |
13
mdluo 2018-06-24 02:16:11 +08:00 via iPhone
这里大部分人说的都是缓存控制而不是版本控制,前端生成的静态资源不需要做版本控制,新的文件直接替换掉老的文件就好了。
部署到 CDN 用 CI 自动去完成。文件的 hash 命名可以参考 Webpack 文档关于 Cache 的章节。另外很多封装 Webpack 的工具默认就做好了 hash 配置,比如 create-react-app |
14
nosay 2018-06-24 08:45:17 +08:00
自己的小站有这样的需求,但是是通过 webhook+后端语言实现的,比较繁琐,应该有更方便的方法,比如上面提到的 html-webpack-plugin,但是最为后端了解不多,有空补一下。
|
15
yuanfnadi 2018-06-24 11:00:25 +08:00 via iPhone
我是写了一个 webpack 七牛插件,webpack build 快完成的时候,把文件列表传到后端服务获取上传 token。然后前端再根据 token 上传到七牛。构建完成后就已经把全部 css 和 js 发布成功了。
|
16
yuanfnadi 2018-06-24 11:01:59 +08:00 via iPhone
文件名是 项目名称+uuid+版本 hash 理论上来说绝对不可能重复。
部署就是把 index.html 复制到 nginx 容器里部署。 |
17
grewer 2018-06-24 12:20:02 +08:00
webpack 是麻烦,但是会了以后,各种方便好么
|
18
sker101 2018-06-26 05:42:00 +08:00
前两天看了这个帖子 想了想平时每次都要手动传七牛的确是挺麻烦 就花了一天写了个插件
没用七牛官方的 SDK 自己实现了上传和获取的接口 要用的可以拿去试试 环境是 webpack 4 不确定 3 能不能用 https://github.com/yyss8/webpack-bundle-cdn-uploader |