vue/react/vite前端项目打包的时候加上时间最简单版本,防止后端扯皮

122 阅读1分钟

如果你是vite项目,直接写一个vite的插件,通过这个插件可以动态注入环境变量,然后当打包的时候,自动注入这个时间到环境变量中,然后在项目中App.vue中或者Main.tsx中打印出来,这就知道是什么时候编译的项目了,防止扯皮

在项目根目录创建一个文件夹然后创建一个vite插件:

插件代码如下: 

// 自定义 Vite 插件,用于生成时间并注入环境变量
export default function buildTimePlugin() {
    return {
        name: 'build-time-plugin',
        config: () => {
            // 获取当前时间
            var currentTime = new Date()
            // 提取年、月、日、时、分、秒
            var year = currentTime.getFullYear() // 年
            var month = String(currentTime.getMonth() + 1).padStart(2, '0')
            var day = String(currentTime.getDate()).padStart(2, '0') // 日
            var hours = String(currentTime.getHours()).padStart(2, '0') // 时
            var minutes = String(currentTime.getMinutes()).padStart(2, '0') // 分
            var seconds = String(currentTime.getSeconds()).padStart(2, '0') // 秒
            // 拼接成 YYYY-MM-DD HH:mm:ss 格式
            var formattedTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
            return {
                define: {
                    // 将时间注入到环境变量中
                    'import.meta.env.BUILD_TIME': JSON.stringify(formattedTime),
                },
            }
        },
    }
}

然后在vite.config.ts中加入配置:

这个时候在项目中打印这个环境变量就好了:

启动项目,然后就可以看到打印的时间了: