39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
/**
|
||
* 将相应文件中的px转成rem,方便替换
|
||
* 手动替换麻烦的很
|
||
*/
|
||
const { glob } = require('glob');
|
||
const path = require('path');
|
||
const fs = require('fs');
|
||
|
||
/**
|
||
* 遍历需要替换的文件
|
||
*/
|
||
glob('src/views/bigScreen/show_2/**/*.vue', {
|
||
// glob('src/views/rem/**/*.vue', {
|
||
ignore: ['node_modules/**', 'dist/**', 'biuld.js', '.git/**'],
|
||
dot: true,
|
||
})
|
||
.then((files) => {
|
||
console.log('需要替换的文件数目: ' + files.length);
|
||
console.log('替换开始');
|
||
files.forEach((item) => {
|
||
// 定义一个替换函数
|
||
function replacePxWithRem(match, p1) {
|
||
// 将捕获的数字 p1 转换为 rem,并保留三位小数
|
||
var remValue = ((1 / 16) * parseInt(p1)).toFixed(3);
|
||
// 返回替换后的字符串
|
||
return remValue + 'rem';
|
||
}
|
||
const path_ = path.join(__dirname, '../', item);
|
||
let content = fs.readFileSync(path_, 'utf8');
|
||
content = content.replace(/\b(\d+)px\b/g, replacePxWithRem);
|
||
fs.writeFileSync(path_, content, 'utf8');
|
||
console.log('替换成功:' + item);
|
||
});
|
||
console.log('替换结束');
|
||
})
|
||
.catch((e) => {
|
||
console.log(e);
|
||
});
|