自动化添加时间戳版本号
自动化添加时间戳版本号
- 前言
- 一、静态资源
- 二、版本号的来源
- 三. 版本信息的位置
- 四. 添加时间戳版本号
- 1. 手动添加
- 2. 自动化生成
前言
软件开发和发布过程中,版本是个极其重要的因素。大至操作系统,小到功能组件,都会涉及到版本相关的问题。
本文主要讨论了静态资源的版本添加方法以及相关内容。
一、静态资源
浏览器缓存 在减少资源请求、加快页面载入速度的同时,也给开发者带来新的问题:新发布的资源因为 缓存 问题而无法被成功载入。
在此情况下,轻则会导致新的功能无法展示,重则可能会因为资源不兼容导致页面报错、功能无法使用。为了解决这一类的问题,我们往往会在静态资源信息中添加版本信息。
二、版本号的来源
每次发布添加不一样的值即可作为版本号,所以版本号可以自定义并且手工维护,也可以是发布时的时间戳的md5的值,或是通过各类工具自动生成的值。
自定义版本号:自定义的版本号简洁明了,能够清楚地知道版本的信息,但是弊端在于,需要手工的去维护版本信息;
自动生成的版本号:将时间戳、动态hash等自动生成的信息作为版本号也是比较常见的方法。
三. 版本信息的位置
对于静态资源来说,版本信息一般可以追加到 路径、 资源名称 或者 查询参数 中。
四. 添加时间戳版本号
1. 手动添加
<script type="text/javascript" src="static/js/comm.js>v=20230424"></script>
2. 自动化生成
代码如下(示例):
<script>document.write('<script type="text/javascript" src="static/js/comm.js?v='+new Date().getTime()+'"><\/script>');
</script>
相关文章:
自动化添加时间戳版本号
自动化添加时间戳版本号 前言一、静态资源二、版本号的来源三. 版本信息的位置四. 添加时间戳版本号1. 手动添加2. 自动化生成 前言 软件开发和发布过程中,版本是个极其重要的因素。大至操作系统,小到功能组件,都会涉及到版本相关的问题。 …...
【C语言】指针进阶[上] (字符、数组指针、指针数组、数组传参和指针传参)
简单不先于复杂,而是在复杂之后。 目录 1. 字符指针 面试题 2. 指针数组 3. 数组指针 3.1 数组指针的定义 3.2 &数组名 VS 数组名 3.3 数组指针的使用 4. 数组参数、指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二…...
软件测试外包干了4年,感觉废了..
先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...
ai改写句子软件-ai改写
AI免费伪原创:助力网站内容升级 您是否曾经为网站优化而烦恼,无论是内容更新还是SEO优化,都需要大量的时间和精力。但是,您是否知道,现在有一款能够使用AI技术来帮助您完成这些任务,而且还是免费的呢&…...
zabbix监控linux主机
1.本实验使用centos7主机,IP地址为10.1.60.115,firewalld和selinux服务已关闭 2.下载zabbix yum源(与zabbix server用一样的版本) rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 3.安装zabbix客户…...
编程中泛型的使用规则和限制是什么?
泛型是一种程序设计风格,它允许程序员在编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。泛型主要用于实现通用的数据结构,例如集合、映射、列表等,使得这些数据结构可以存储多种类型的元素。 在泛型使用之…...
【工具】使用VS Code调试Docker Container中的代码
目录 使用VS Code调试Docker Container中的Autoware.ai代码第一种方法 -- 在VS Code中进行DebugStep1Step2Step3Step4c_cpp_properties.jsonlaunch.jsonsettings.jsontask.json Step5Step6Step7参考链接 第二种方法 -- cmake重新编译cmake使用方法(简介)…...
ZVL3网络分析仪
ZVL3 Rohde&Schwarz ZVL3 3G矢量网络分析仪|罗德与施瓦茨 9KHz至3GHz 罗德与施瓦茨Rohde&Schwarz 性能特点: 频率范围 9kHz至3GHz/6 GHz(典型值为5kHz) 测量时间(201个测量点,以校准的双端口) <75ms 数据传输(201个测量点) 在100Mbit/sLAN…...
TCP协议
传输层(协议) TCP协议 三次握手协议保证连接建立 四次挥手,利用这个协议断开连接,而且保证连接通道里面数据已经处理完毕 客户端(Socket): 1、创建客户端的Socket对象(Socket)与指…...
69. x 的平方根
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1࿱…...
Webshell应急响应指南
Webshell应急响应指南 1.Webshell 排查2.入侵时间确定3.Web日志分析4.漏洞分析5.漏洞复现6.清除Webshell并修复漏洞7.Webshell 防御方法1.Webshell 排查 可利用 Webshell 扫描工具(如 D 盾,河马)对应用部署目录进行扫描,如网站D:\WWW\目录 或者将当前网站目录文件与此前备…...
Linux如何定时执行任务
目录 crontab 介绍 安装crontab 服务操作说明 操作案例 crontab 介绍 Linux crontab是采用定期执行程序的命令,当安装完成操作 系统后,默认便会启动此任务调度命令,crond命令每分钟都会定期检查是否要执行任务的工作,如果要执…...
使用nvm替换nvmw作为nodejs的版本切换(亲测)
之前的文章:同时使用vue2.0和vue3.0版本的采坑记录 安装的nvmw,今天想要用nvmw切换时,居然给我报错了: 然后我就走上了使用nvm替换nvmw之路。。 1.安装 nvm-windows下载 下载release版 中Assets中的包,window10&…...
分布式事务
数据库事务 Atomicity 原子性 某个操作,要么全部执行完毕,要么全部回滚 Consistency 一致性 数据库中的数据全都符合现实世界的约束,则这些数据就符合一致性。 比如性别约束男or女,人名币面值不能为负数;出生地址不能…...
zk111111111111111111
Zookeeper 1 zookeeper(作为 dubbo 的注册中心): 概述: zookeper 是 一个分布式的、开源的分布式应用程序的协调服务,管理分布式应 用 作用: 配置管理,分布式锁,集群管理 2 zookeeper 的安装 (dubbo 的资料中已经整理) 3 zookeeper 的数据模型 zookeeper 是一个树形的服…...
018:Mapbox GL加载Google地图(影像瓦片图)
第018个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中加载google地图。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共80行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xia…...
Web API 和 API 的区别编写api
编写api 自从Roy Fielding博士在2000年他的博士论文中提出(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。 什么是Web API呢? 1. Web API 和…...
IDEA 用上这款免费 GPT4 插件,生产力爆表了
大家好,我是一航! 早前给大家分享过GPT的一些玩法,但是依旧有很多铁子没有掌握魔法的奥秘,始终没有用上;前两天,一兄台分享给我一款 IDE 插件:Bito-ChatGPT ,安装就能直接在IDE中使…...
1187.使数组严格递增 学习记录
题目描述 给你两个整数数组 arr1 和 arr2,返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2 中各选出一个索引,分别为 i 和 j,0 < i < arr1.l…...
权限控制_SpringSecurity
认证-授权 认证:系统提供的用于识别用户身份的功能,通常提供用户名和密码进行登录其实就是在进行认证,认证的目的是让系统知道你是谁。 授权:用户认证成功后,需要为用户授权,其实就是指定当前用户可以操作…...
SDLPAL图形渲染技术揭秘:OpenGL与Shader的完美结合
SDLPAL图形渲染技术揭秘:OpenGL与Shader的完美结合 【免费下载链接】sdlpal SDL-based reimplementation of the classic Chinese-language RPG known as PAL. 项目地址: https://gitcode.com/gh_mirrors/sd/sdlpal SDLPAL是一款基于SDL的经典中文RPG游戏重制…...
AI Agent工作流引擎:从DAG编排到生产级应用实践
1. 项目概述:AI Agent工作流引擎的诞生与价值最近在GitHub上看到一个挺有意思的项目,叫“ai-agent-workflow”。光看名字,你可能觉得这又是一个关于AI智能体的框架,但仔细研究它的代码和设计理念,你会发现它瞄准的是一…...
Vue 3调试新利器:vibe-devtools实现运行时状态热更新与代码注入
1. 项目概述:一个为前端开发者量身定制的调试利器最近在折腾一个Vue 3 Vite的项目,调试组件状态时,总感觉Chrome DevTools里的Vue Devtools用起来有点“隔靴搔痒”。状态变化是能看见,但想快速模拟个特定数据、或者临时注入一段逻…...
AIGC面试指南:从Transformer到扩散模型,系统掌握核心技术与实战
1. 项目概述:一本面向AIGC求职者的实战指南最近几年,AI生成内容(AIGC)领域的热度可以说是“肉眼可见”地飙升。从文本生成、图像创作到视频合成,相关岗位如雨后春笋般涌现,吸引了大量开发者和研究者的目光。…...
USB Type-C接口技术解析与工程实践
1. USB接口技术演进与Type-C核心优势USB Type-C接口自2014年发布以来,凭借其革命性的设计理念迅速成为移动设备的主流接口标准。作为从业十余年的硬件工程师,我见证了从USB 2.0 OTG到Type-C的完整迁移过程。与传统micro-A/B接口相比,Type-C最…...
碧蓝航线Alas自动化脚本:10分钟解放双手的智能游戏助手
碧蓝航线Alas自动化脚本:10分钟解放双手的智能游戏助手 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为每…...
基于RAG与代码专用嵌入模型构建本地智能代码库问答系统
1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫“smart-codebase”。光看名字,你可能觉得这又是一个关于代码智能化的工具,但仔细研究其设计和实现思路,你会发现它瞄准的是一个非常具体且高频的痛点:如…...
从田野笔记到理论建模,NotebookLM政治学辅助全流程拆解,含6类典型误用场景避坑指南
更多请点击: https://intelliparadigm.com 第一章:从田野笔记到理论建模:NotebookLM政治学辅助全流程概览 NotebookLM 作为 Google 推出的基于用户上传文档进行深度语义理解的 AI 助手,正逐步成为政治学研究者处理非结构化文本的…...
全志T113-S3 SPI屏幕驱动踩坑实录:内核5.4下适配ILI9341的完整流程与代码修改
全志T113-S3 SPI屏幕驱动深度解析:内核5.4适配ILI9341的实战指南 在嵌入式开发领域,显示设备的驱动适配一直是工程师面临的核心挑战之一。全志T113-S3作为一款性价比突出的处理器,广泛应用于各类嵌入式场景,而ILI9341驱动的SPI屏幕…...
DataCleaner终极指南:免费开源的数据质量分析神器
DataCleaner终极指南:免费开源的数据质量分析神器 【免费下载链接】DataCleaner The premier open source Data Quality solution 项目地址: https://gitcode.com/gh_mirrors/dat/DataCleaner DataCleaner是一款功能强大的开源数据质量解决方案,专…...
