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

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

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

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

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

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

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

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

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

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