How can I use gulp to replace a string in a file?

后端 未结 4 1462
执笔经年
执笔经年 2021-01-01 10:40

I am using gulp to uglify and make ready my javascript files for production. What I have is this code:

var concat = require(\'gulp-concat\');
var del = requi         


        
4条回答
  •  迷失自我
    2021-01-01 10:57

    Gulp streams input, does all transformations, and then streams output. Saving temporary files in between is AFAIK non-idiomatic when using Gulp.

    Instead, what you're looking for, is a streaming-way of replacing content. It would be moderately easy to write something yourself, or you could use an existing plugin. For me, gulp-replace has worked quite well.

    If you want to do the replacement in all files it's easy to change your task like this:

    var replace = require('gulp-replace');
    
    gulp.task('scripts', ['clean-js'], function () {
        return gulp.src(js.src)
          .pipe(replace(/http:\/\/localhost:\d+/g, 'http://example.com'))
          .pipe(uglify())
          .pipe(concat('js.min.js'))
          .pipe(gulp.dest('content/bundles/'))
          .pipe(gzip(gzip_options))
          .pipe(gulp.dest('content/bundles/'));
    });
    

    You could also do gulp.src just on the files you expect the pattern to be in, and stream them seperately through gulp-replace, merging it with a gulp.src stream of all the other files afterwards.

提交回复
热议问题