如何在文件中找到文本并替换它?

How can I find text in a file and replace it?

我需要为 gulp 编写一个函数。
函数应该:
1. 打开文件 (style.min.css)
2. 查找包含给定文本的所有行 (img/sprite.png)
3. 将所有找到的行替换为 (../img/sprite.png)

为了简化任务,我包含了一个插件 (replace-in-file)
我不擅长 Node.js 但我尝试了...
请帮我改正。
如果你愿意,你可以展示如何在不使用插件的情况下做到这一点 (replace-in-file)。
但是你也可以使用插件...

const build = ('build/')
const replace = require('replace-in-file')
const config = {
    build: {
        style: build + 'css'
    }
}

function fixSprites() {
    const results = replace.sync({
        files: config.build.style + '/style.min.css',
        from: 'img/sprite.png',
        to: '../img/sprite.png',
        countMatches: true,
    })
    return src(config.build.style + '/style.min.css')
        .pipe(replace(results))
}

exports.fixSprites = fixSprites()

我用了一个插件'replace-in-file'!
这是开箱即用的 gulp 解决方案
将所有类似类型的行替换为其他行。
示例:将 img/sprite.png 替换为 ../img/sprite.png

const { series } = require('gulp')
const replace = require('replace-in-file')

function updateRedirects(done) {
    replace({
        files: 'build/css/style.min.css',
        from: /img\/sprite.png/g, // img/sprite.png – Replace this.
        to: '../img/sprite.png', // ../img/sprite.png – Replace with this.
        countMatches: true,
    }, done)
}

exports.build = series(updateRedirects) // Start