首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Coding
V2EX  ›  Python

开发阶段的后台管理系统, js 存在变动,如何检测到 js 内容变动,改变 js 文件名

  •  
  •   csp318 · 164 天前 · 1859 次点击
    这是一个创建于 164 天前的主题,其中的信息可能已经有所发展或是发生改变。

    flask--> 使用者不知清缓存,会导致页面部分数据不正确或者没有

    解决方法一: 改变静态文件名称,与上次名字不一致。缺点:有时候开发者会忘记,操作麻烦,让开发者精力集中在业务上。

    方法二: 听说有个 gulp 可以管理静态文件,具体教程各位大佬有?

    方法三(主要想要这种方法): 有 python 或者 flask 相关的包,来管理这些静态文件?

    31 回复  |  直到 2019-07-05 09:55:01 +08:00
        1
    shanlan   164 天前
    我看到别人 JavaScript 的 scr 后面带了?版本号。
    比如现在这个页面,你查看源代码就可以看到;
    <script src="/static/dist/combo.js?v=c60a80c85dcdff5b64f7ce14139b2435" type="text/javascript" defer></script>
        2
    jinksw   164 天前
    js 后面拼时间戳参数就行了
        3
    wdspro   164 天前
    webpack 啊
        4
    mcfog   164 天前
    所以开发阶段为什么会有使用者?
        5
    VDimos   164 天前 via Android
    你们没用 webpack ?
        6
    palmers   164 天前
    如果没有用 webpack 可以直接在后面添加时间戳 那每次加载 js 都是最新的 获取找找其他的类似 JSLoader 之类的工具
        7
    csp318   164 天前
    是供公司内部使用的,运营边使用边提出需求
        8
    csp318   164 天前
    @VDimos 没有用过
        9
    csp318   164 天前
    @jinksw 那岂不是我说的第一种方法,这种方法不好操作,太繁琐,想一劳永逸
        10
    gz911122   164 天前
    webpack 了解一下
        11
    csp318   164 天前
    @gz911122 有 python 相关的包?
        12
    wwwz   164 天前
    webpack 和 gulp 都行,原理就是自动帮你改静态文件名。
        13
    csp318   164 天前
    @wwwz 网上资料大把,但是相关具体操作文档难找,请问您有相关资料?
        14
    learnshare   164 天前
    gulp 也行
        15
    jecshcier   164 天前 via iPhone
    @mcfog mc 牛逼
        16
    Caballarii   164 天前
    请求后面都带随机数,每次都强刷好了
        17
    2805408253   164 天前
    js url 加一个时间戳参数就可以了,作用是每次都会请求最新的 js 文件。
    例如: 1.js?timestamp=2123122232323
        18
    wednesdayco   164 天前
    地址后加 search 串可穿透缓存
        19
    csp318   164 天前
    @wednesdayco <script src="/static/dist/combo.js?v=c60a80c85dcdff5b64f7ce14139b2435" type="text/javascript" defer></script> 这样?就是问号后面随意写?
        20
    LiMengBo   164 天前
    直接加随机字符串时间戳也可以
        21
    wednesdayco   164 天前
    @csp318 随便写就算你在?后面写个小说应该都没问题。[doge]
        22
    gz911122   164 天前
    @csp318 webpack 是个工具 不是包
        23
    limuyan44   164 天前 via Android
    只是内部用,你搞个时间戳就行了,没必要搞那么麻烦,解决问题不需要 1 分钟
        24
    zekee   164 天前
    不写的话,你的 js 文件被缓存到本地了,就不会重新加载了
    写了以后,你的 js 文件每次都不一样,都会重新加载
    webpack 自动加
        25
    fengbjhqs   164 天前
    叫他 刷新用 ctrl+f5

    webpack 在你电脑打开以后,如果在局域网可以访问你的 ip,

    如果不在一个局域网, 可以用内网穿透,不过没有必要

    自己找个地方搭建个上传不就可以了, 告诉他这个就是开发环境
        26
    play78   164 天前
    用 nginx 代理一下,设置 expires = -1 表示浏览器不缓存即可。
        27
    play78   164 天前
        28
    geniusmyn   164 天前
    @wdspro
    @VDimos
    @palmers
    @wwwz webpack 咋设置?各位大佬
        29
    lscho   164 天前   ♥ 1
    ctrl+F5 能实现的事非得搞出点其他东西。。。路径后面加时间戳也能实现的东西非得搞出点其他东西。。。webpack 和 gulp 都能实现的东西,百度搜一下就知道了,人家都回复你了,还得问具体咋设置
        30
    lostpupil   164 天前
    abc.js => abc-flsadjfasldkfjaslkdjfads.js
    加上一串奇怪的 hash 就行了。
    基本上 webpack gulp 这些东西 build 时候都可以给你加上一串 hash 的。
    然后 你需要做的就是在 前端页面 动态的修改 script 标签里面的 引用。
        31
    keventseng   163 天前
    简单直接在静态文件后增加时间戳,毕竟是内部使用。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   906 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 19:00 · PVG 03:00 · LAX 11:00 · JFK 14:00
    ♥ Do have faith in what you're doing.