vite版本为5.2.0,vite-plugin-html版本为3.2.2
我们工作的一个小需求,就是由于更新的频率的问题,如果只有一个三位数的版本号的话,可能会导致,测试拿到的不是最新的打包版本。从而引发测试版本问题,于是就想到了, 给每次打包的时间记录下来,写在打包之后的index.html文件中。这样就能清楚的知道,测试的是哪个版本。
安装vite-plugin-html插件
(c)npm install vite-plugin-html -D
复制
配置config文件
安装完成之后,需要在根目录的vite.config.js文件或者vite.config.ts文件中,配置一下对应的内容;
// 原来的内容 import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; // 首先是引入插件 import { createHtmlPlugin } from 'vite-plugin-html'; export default defineConfig({ plugins: [ vue(), // 给html模版添加打包的时间 createHtmlPlugin({ minify: false, // 是否压缩index.html文件,这里选择不压缩 pages: [ { template: 'index.html', filename: 'index.html', injectOptions: { data: { buildTime: new Date().toLocaleString() // 这里就是记录的当前打包的时间。前面的键位名称‘buildTime’需要个index.html文件中的相对应 } } } ] }) ], });
复制
更改index.html文件
然后在更改根目录的index.html文件,给想要添加的打包日期的地方添加一个"<%- buildTime%>",示例如下:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <link rel="icon" type="image/svg+xml" href="/vite.svg" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Vite + Vue</title> <!--这里的名称需要和刚刚在vite.config.js中配置的统一--> <meta name="build-time" content="<%- buildTime%>"> </head> <body> <div id="app"></div> <script type="module" src="/src/main.js"></script> </body> </html>
复制
这样配置工作就完成了。等到我们打包完成之后,就会把当时打包的日期,写入这个meta标签中。
打包之后的index.html文件
查看打包之后的文件,已经成功的添加了打包的日期。此后每次打包之后,就会把当前的打包时间添加到打包之后的index.html文件中。
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <link rel="icon" type="image/svg+xml" href="/vite.svg" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Vite + Vue</title> <meta name="build-time" content="2024/6/4 11:54:20"> <script type="module" crossorigin src="/assets/index-B24IYum8.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-ILNreh1T.css"> </head> <body> <div id="app"></div> </body> </html>
复制