需求是这样的,把A文件内的指定字符串替换成自定义的字符串
例如,把style.css文件里所有#fff替换成#666。
现在只能做到提取出style.css里所有的字符串,再利用正则替换指定字符串,再一次性重新写入到style.css里面,这样做当然可以满足需求,但是特别想知道有没有更优雅一点的方法。
——找到tyle.css里面的#fff直接正则替换,而不是提取所有字符串,先正则替换,再重新覆盖原文件。
需求是这样的,把A文件内的指定字符串替换成自定义的字符串
例如,把style.css文件里所有#fff替换成#666。
现在只能做到提取出style.css里所有的字符串,再利用正则替换指定字符串,再一次性重新写入到style.css里面,这样做当然可以满足需求,但是特别想知道有没有更优雅一点的方法。
——找到tyle.css里面的#fff直接正则替换,而不是提取所有字符串,先正则替换,再重新覆盖原文件。
对于这样的需求,我们不妨换一种思路,,,使用 react 有一段时间了,看到把 style.css 文件里所有 #fff 替换成 #666,我的第一反应是用组件的 state 来管理这个 color,如果只用 node 的话,也可以使用模板引擎中的变量来控制,如果以上方式都不合你口味,最后建议单独生成一个设定 color 的 CSS 文件,类似一个自定义文件,或者说配置文件,若需变化,使用 fs 模块的 writeFile 来覆盖之前的设定,参考代码如下
import fs from 'fs';
const color = XX ? '#fff' : '#666';
const style = `
.XX {
color: #${color}
}`;
fs.writeFile('style.css', style, (err) => {
if (err) throw err;
console.log('圆满解决颜色替换');
});
方法有很多,可以直接用child_process.exec
的命令行方式, 可以用三方fs-extra
,也可重新写content string
文件流
5 回答4.8k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.2k 阅读
坐等 我也有类似的需求