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

5anewei6  于 2022-12-08  发布在  Gulp
关注(0)|答案(1)|浏览(218)

我需要写一个函数来表示吞咽动作。
该职能应:

**1.**打开文件(样式.最小值.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()
ttisahbt

ttisahbt1#

我用了一个插件'replace-in-file'!
这是开箱即用的大口解决方案
将所有类型相似的行替换为其他行。
示例:将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

相关问题