vue打包更新packge.json版本号

devtools/2024/10/17 21:59:16/

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);}}
);

jsonscripts_73">三、修改packjson里面,scripts命令

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

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

四、在页面地方使用

在这里插入图片描述


http://www.ppmy.cn/devtools/93935.html

相关文章

“阳光高考爬虫项目揭秘:增量爬虫与断点续抓的Python实战“

阳光高考项目 项目要求 爬取各大高校基本信息和招生简章&#xff08;招生简章要求存储为pdf格式并且入库&#xff09; 数据库表设计 idtask_urlstatus&#xff1a;0(未抓取)&#xff0c;1(抓取中)&#xff0c;2(抓取完毕)&#xff0c;3(错误)&#xff0c;4(更新中)&#xff…

打印一个字符串全排列

import java.util.ArrayList;public class Test45 {//打印一个字符串的全排列public static ArrayList<String> permutation (String str) {ArrayList<String> res new ArrayList<>();if (str null || str.length() 0) {return res;}char[] chs str.toC…

Ubuntu22.04安装anaconda

Ubuntu22.04中安装anaconda的具体步骤 ​ 清华源中找到conda的归档页面https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?CM&OD 并复制链接 服务器上使用的话可以选择miniconda来安装使用 Anaconda 是一个完整的、大型的数据科学和机器学习环境&#xff0c;包含…

Excel VBA批量获取文件夹内文件名及重命名文件教程

在本文中&#xff0c;我们将介绍如何使用Excel VBA宏来批量获取文件夹内的文件名&#xff0c;并将其输出到Excel单元格区域。此外&#xff0c;我们还将展示如何根据Excel中的列表批量重命名这些文件。 一、批量获取文件夹内文件名 首先&#xff0c;我们需要编写一个VBA宏来列出…

Java 中的 ArrayList 和 LinkedList 在性能上有什么不同?

Java 中的 ArrayList 和 LinkedList 由于其内部数据结构的不同&#xff0c;在性能上也存在显著差异。以下是一些关键的性能比较点&#xff1a; 内存占用&#xff1a; ArrayList 基于动态数组实现&#xff0c;内存分配是连续的&#xff0c;因此它的内存利用率较高。LinkedList 基…

jenkins 安装以及自动构建maven项目并且运行

在这里找到你对应jdk的版本的jenkins包 War Jenkins Packages 我这里用的使java8,所以下载 https://mirrors.jenkins.io/war-stable/2.60.1/jenkins.war 然后jenkins可以安装到centos系统 在本地windows系统运行命令行 scp C:\Users\98090\Downloads\jenkins.war root@192…

实现HAProxy高可用

配置过程 [rootka2 ~]# vim /etc/haproxy/haproxy.cfg listen webserverbind 172.25.254.100:80server web1 172.25.254.110:80 check inter 2s fall 3 rise 5server web2 172.25.254.120:80 check inter 2s fall 3 rise 5[rootka2 ~]# vim /etc/sysctl.conf [rootka2 ~]# s…

探索AI角色扮演的新前端工具:SillyTavern

在人工智能&#xff08;AI&#xff09;领域&#xff0c;角色扮演&#xff08;Roleplay&#xff09;无疑是一个富有趣味且充满潜力的应用场景。无论你是AI爱好者还是开发者&#xff0c;找到一个合适的前端工具来访问并与语言模型进行互动是至关重要的。今天&#xff0c;我们将介…