首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gulp来使用config对象替换特定源文件中的字符串?

如何使用gulp来使用config对象替换特定源文件中的字符串?
EN

Stack Overflow用户
提问于 2018-08-17 11:58:07
回答 1查看 193关注 0票数 0

如何在源文件连接时实现替换特定源文件上的字符串。

代码语言:javascript
复制
var gulp    = require('gulp'),
rename  = require('gulp-rename'),
concat  = require('gulp-concat'),
uglify  = require('gulp-uglify'),
replace = require('gulp-replace');
var config = {
    cssConcatFiles: [
       'one.css',
       'two.css',
       'three.css'
    ]   
 };

 gulp.task('css-concat', function() {
     return gulp.src(config.cssConcatFiles)
         .pipe(replace('url\(\'', 'url\(\'../images/fancybox/'))
         // I want to perform this replace to a particular file which is "two.css"

         .pipe(concat('temp.css'))
         .pipe(uglyfycss())
         .pipe(rename('temp.min.css'))
         .on('error', errorLog)
         .pipe(gulp.dest('public/css/plugins/fancybox'));
 });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-17 14:25:54

这应该能行。吞咽

代码语言:javascript
复制
const gulpIF = require('gulp-if');


gulp.task('css-concat', function() {
 return gulp.src(config.cssConcatFiles)

     //.pipe(replace('url\(\'', 'url\(\'../images/fancybox/'))
     // I want to perform this replace to a particular file which is "two.css"

     .pipe(gulpIF((file) => file.path.match('two.css') , replace('url\(\'', 'url\(\'../images/fancybox/')))

     .pipe(concat('temp.css'))
     .pipe(uglyfycss())
     .pipe(rename('temp.min.css'))
     .on('error', errorLog)
     .pipe(gulp.dest('public/css/plugins/fancybox'));
});

您可以使用下面的管道,而不是一饮而尽的调用:

代码语言:javascript
复制
.pipe(replace(/url\(\'/g, function(match) {
      if (this.file.relative === "two.css") {
        return 'url\(\'../images/fancybox/';
      }
      else return match;
}))

因为gulp-replace将一个函数作为参数,并为该函数提供一个乙烯基文件引用(this.file),您可以使用它来测试哪个文件正在通过流。但是,即使您不想做任何事情,也必须从函数调用中返回一些内容--所以返回原始匹配。

我建议您使用gulp-if,在您的情况下要干净得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51894975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档