File 如何使用Gulp向文件中添加一行文本

File 如何使用Gulp向文件中添加一行文本,file,gulp,edit,inject,File,Gulp,Edit,Inject,我一直在想如何使用Gulp向任何类型的文件添加一行文本 例如,添加: @import 'plugins' 到我的main.sass文件 或者将CDN添加到index.html文件中 我确实试过: gulp.task('inject-plugins', function(){ gulp.src('src/css/main.sass') .pipe(inject.after('// Add Imports', '\n@import \'plugins\'\n')); }); 毫无乐

我一直在想如何使用Gulp向任何类型的文件添加一行文本

例如,添加:

@import 'plugins'
到我的main.sass文件

或者将CDN添加到index.html文件中

我确实试过:

gulp.task('inject-plugins', function(){
   gulp.src('src/css/main.sass')
    .pipe(inject.after('// Add Imports', '\n@import \'plugins\'\n'));
});

毫无乐趣。你知道我怎样才能做到这一点吗?

取决于你想做什么

如果您只是想将文本添加到文件的开头或结尾,并且是您的朋友:

var header = require('gulp-header');
var footer = require('gulp-footer');

gulp.task('add-text-to-beginning', function() {
  return gulp.src('src/css/main.sass')
    .pipe(header('@import \'plugins\'\n'))
    .pipe(gulp.dest('dist'));
});

gulp.task('add-text-to-end', function() {
  return gulp.src('src/css/main.sass')
    .pipe(footer('@import \'plugins\''))
    .pipe(gulp.dest('dist'));
});
如果文件中有某种“锚定”文本,可以使用:

最后是瑞士军队的黑胶文件处理刀:。这使您可以直接访问文件内容,并允许您执行JavaScript中可以想到的任何类型的字符串操作:

var map = require('map-stream');

gulp.task('change-text', function() {
  return gulp.src('src/css/main.sass')
    .pipe(map(function(file, cb) {
      var fileContents = file.contents.toString();
      // --- do any string manipulation here ---
      fileContents = fileContents.replace(/foo/, 'bar');
      fileContents = 'First line\n' + fileContents;
      // ---------------------------------------
      file.contents = new Buffer(fileContents);
      cb(null, file);
    }))
    .pipe(gulp.dest('dist'));
});

别忘了添加那些库!如果您正在使用npm:将它们添加到package.json文件中的“devdependences”:{..},并运行“npm install”,如果我想在同一个文件中添加pone行,我如何给出dest位置?似乎
映射流
已被弃用
var map = require('map-stream');

gulp.task('change-text', function() {
  return gulp.src('src/css/main.sass')
    .pipe(map(function(file, cb) {
      var fileContents = file.contents.toString();
      // --- do any string manipulation here ---
      fileContents = fileContents.replace(/foo/, 'bar');
      fileContents = 'First line\n' + fileContents;
      // ---------------------------------------
      file.contents = new Buffer(fileContents);
      cb(null, file);
    }))
    .pipe(gulp.dest('dist'));
});