一个简单的脚本, 将 uniapp 项目中所有的 rpx 单位转为 px, 以用来视频大屏。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
const fs = require('fs'); const path = require('path'); function processFilesInFolder(folderPath) { fs.readdir(folderPath, (err, files) => { if (err) { console.error(err); return; } files.forEach(file => { const filePath = path.join(folderPath, file); fs.stat(filePath, (err, stats) => { if (err) { console.error(err); return; } if (stats.isDirectory()) { processFilesInFolder(filePath); // 递归处理子目录 } else if (file.endsWith('.vue')) { fs.readFile(filePath, 'utf8', (err, data) => { if (err) { console.error(err); return; } const updatedData = data.replace(/(\d+)rpx/g, (match, p1) => { const newValue = parseInt(p1) / 2; return `${newValue}px`; }); fs.writeFile(filePath, updatedData, 'utf8', err => { if (err) { console.error(err); } else { console.log(`File ${file} updated successfully.`); } }); }); } }); }); }); } const rootFolder = './src'; processFilesInFolder(rootFolder); |