import { writeFile, existsSync, mkdir } from 'fs' import { sep } from 'path' const writeVersion = (versionFile, content) => { // 写入文件 writeFile(versionFile, content, (err) => { if (err) throw err }) } export function versionPlugin(options) { let config return { name: 'version-update', configResolved(resolvedConfig) { // 存储最终解析的配置 config = resolvedConfig }, buildStart() { // 生成版本信息文件路径 const file = config.publicDir + sep + 'version.json' // 这里使用编译时间作为版本信息 const content = JSON.stringify({ version: options.version }) if (existsSync(config.publicDir)) { writeVersion(file, content) } else { mkdir(config.publicDir, (err) => { if (err) throw err writeVersion(file, content) }) } }, } }