• 请不要在回答技术问题时复制粘贴 AI 生成的内容
SimbaPeng
V2EX  ›  程序员

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

  •  
  •   SimbaPeng · Jun 23, 2018 · 6540 views
    This topic created in 3056 days ago, the information mentioned may be changed or developed.
    18 replies  •  2018-06-26 05:42:00 +08:00
    qiayue
    qiayue
    Jun 23, 2018
    1
    目录里携带版本号
    LanFomalhaut
    LanFomalhaut
    Jun 23, 2018
    2
    不开忽略参数.这样直接 .js?v=1.0 .js?v=1.1
    SimbaPeng
    SimbaPeng
    OP
    Jun 23, 2018
    3
    @qiayue
    @LanFomalhaut

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

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

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

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

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

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

    https://github.com/yyss8/webpack-bundle-cdn-uploader
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2330 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 119ms · UTC 15:48 · PVG 23:48 · LAX 07:48 · JFK 10:48
    ♥ Do have faith in what you're doing.