nodejs如何修改文件内容?

发布于 2022-09-05 23:10:50 字数 311 浏览 21 评论 0

需求是这样的,把A文件内的指定字符串替换成自定义的字符串

例如,把style.css文件里所有#fff替换成#666
现在只能做到提取出style.css里所有的字符串,再利用正则替换指定字符串,再一次性重新写入到style.css里面,这样做当然可以满足需求,但是特别想知道有没有更优雅一点的方法。
——找到tyle.css里面的#fff直接正则替换,而不是提取所有字符串,先正则替换,再重新覆盖原文件。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

一身仙ぐ女味 2022-09-12 23:10:50

坐等 我也有类似的需求

李白 2022-09-12 23:10:50

实现了吗 我也要实现这个功能

说好的呢 2022-09-12 23:10:50

对于这样的需求,我们不妨换一种思路,,,使用 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('圆满解决颜色替换');
});
情未る 2022-09-12 23:10:50

那就把文件作成配置文件的形式,如,XML,json,或yaml,通过封装的方法读取,处理起来要方便很多,单纯的没有模式的文本文件,处理起来还是挺不方便的

清风疏影 2022-09-12 23:10:50

方法有很多,可以直接用child_process.exec的命令行方式, 可以用三方fs-extra,也可重新写content string文件流

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文