const fs = require('fs') const path = require('path') // 指法文件夹位置 // const filesDir = path.join(__dirname, './fingering') // const filesDir = path.join(__dirname, './pages/detail') const filesDir = path.join(__dirname, './images') console.log("🚀 ~ filesDir:", filesDir, path.join(filesDir, 'index.json')) // 需要处理的文件后缀 const suffixs = ['png', 'svg'] const files = fs.readdirSync(path.resolve(filesDir)) // console.log("🚀 ~ files:", files) ;(async function() { let i = 0 const exportJson = {} for (const file of files) { const suffix = file.slice(file.lastIndexOf('.') + 1) // console.log("🚀 ~ suffix:", suffix) if (!suffixs.includes(suffix)) continue; const dirFullPath = path.join(filesDir, file) // console.log("🚀 ~ dirFullPath:", dirFullPath) fs.stat(dirFullPath, (err, stat) => { if (!err && !stat.isDirectory()) { const fileNames = file.split('.') const fileBuffer = fs.readFileSync(dirFullPath) console.log("🚀 ~ fileBuffer:", fileNames[0]) const fileType = suffix === 'svg' ? 'svg+xml' : suffix const str = `data:image/${fileType};base64,` + Buffer.from(fileBuffer, 'binary').toString('base64') exportJson[fileNames[0]] = str fs.writeFileSync(path.join(filesDir, 'index.json'), JSON.stringify(exportJson, null, 2)) } }) // if (i === 0) break; } })()