当前位置: 首页 > news >正文

vue打包更新packge.json版本号

VUE项目打包自动更新版本号
此方法只针对 Vue 如果使用其他框架,可以此参照作为参考

一、先看效果

在这里插入图片描述

二、创建 buildVersion.js 文件

在这里插入图片描述
文件内容 目前只针对3位版本号
递增规则是 每次更新 加一次小版本,10次小版本向前递增一个版本。如:1.0.9 递增后 1.1.0

let fs = require("fs");
const getPackageJson = () => {// 读取文件let data = fs.readFileSync("./package.json");// 转换为 JSON 对象return JSON.parse(data);
};let packageData = getPackageJson();const updateVersion = () => {let version = packageData.version.split(".");let major = parseInt(version[0]); // 主版本号let minor = parseInt(version[1]); // 次版本号let patch = parseInt(version[2]); // 小版本号// 检查并更新版本号if (patch < 9) {patch++; // 递增小版本号} else {patch = 0; // 重置小版本号if (minor < 9) {minor++; // 递增次版本号} else {minor = 0; // 重置次版本号major++; // 递增主版本号}}// 更新版本号packageData.version = `${major}.${minor}.${patch}`;// 获取当前日期和时间let now = new Date();let formattedDate = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")} ${String(now.getHours()).padStart(2, "0")}:${String(now.getMinutes()).padStart(2, "0")}:${String(now.getSeconds()).padStart(2, "0")}`;// 更新最后打包时间packageData.lastBuildTime = formattedDate;
};updateVersion();fs.writeFile("./package.json",JSON.stringify(packageData, null, "\t"),(err) => {if (err) {console.log("写入版本失败", err);} else {console.log("写入版本成功 " + packageData.version);}}
);

三、修改packjson里面,scripts命令

"scripts": {"dev": "vue-cli-service serve","build:prod": "node ./buildVersion.js && vue-cli-service build"
}

执行npm run build:prod 后自动更新versionlastBuildTime
在这里插入图片描述

四、在页面地方使用

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【区块链+食品安全】湖南省食品行业联合会:溯链中国—基于区块链的食品安全可信追溯平台 | FISCO BCOS应用案例
  • DC-4靶机
  • Shell编程基础:从简单脚本到复杂任务自动化
  • 介质套检测方案,如何提升检测效率?
  • C语言程序设计之内存溢出
  • superset定制化配置修改总结
  • AI安全-文生图
  • Python酷库之旅-第三方库Pandas(081)
  • 《编程学习笔记之道:构建知识宝库的秘诀》
  • Mocha测试框架:JavaScript自动化测试的瑞士军刀
  • 【教程】Ubuntu给pycharm添加侧边栏快捷方式
  • 如何在 Odoo 16 会计中向发票添加付款二维码
  • Tkinter教程
  • 微信支付流程
  • 【实现100个unity特效之22】unity用Particle粒子系统制作2d龙卷风特效效果
  • 《Java编程思想》读书笔记-对象导论
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • github指令
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • IDEA 插件开发入门教程
  • laravel 用artisan创建自己的模板
  • Lsb图片隐写
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • React-flux杂记
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue数据传递--我有特殊的实现技巧
  • Yii源码解读-服务定位器(Service Locator)
  • 如何优雅地使用 Sublime Text
  • 突破自己的技术思维
  • 怎么把视频里的音乐提取出来
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​520就是要宠粉,你的心头书我买单
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​数据链路层——流量控制可靠传输机制 ​
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #{}和${}的区别?
  • #android不同版本废弃api,新api。
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #Spring-boot高级
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (3)(3.5) 遥测无线电区域条例
  • (C++哈希表01)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (三)Honghu Cloud云架构一定时调度平台
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)VC++中ondraw在什么时候调用的
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...