2016-07-14 12 views
5

Próbowałem dowiedzieć się, jak dodać linię tekstu do dowolnego typu pliku za pomocą Gulp.Jak używać Gulp do dodawania linii tekstu do pliku

Na przykład dodać:

@import 'plugins' 

do mojego pliku main.sass.

Lub dodaj CDN do pliku index.html.

Próbowałem:

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

bez radości. Masz pomysł, jak to osiągnąć?

Odpowiedz

7

Zależy od tego, co chcesz zrobić.

Jeśli chcesz po prostu dodać tekst na początku lub na końcu pliku gulp-header i gulp-footer są twoi przyjaciele:

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')); 
}); 

Jeśli masz jakieś „kotwicy” tekst w pliku można użyć gulp-replace :

var replace = require('gulp-replace'); 

gulp.task('replace-text', function() { 
    var anchor = '// Add Imports'; 
    return gulp.src('src/css/main.sass') 
    .pipe(replace(anchor, anchor + '\[email protected] \'plugins\'\n')) 
    .pipe(gulp.dest('dist')); 
}); 

Wreszcie jest szwajcarski scyzoryk manipulacji plików winyl: map-stream. Daje to bezpośredni dostęp do zawartości pliku i pozwala na manipulację ciągami, o których można myśleć w 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')); 
}); 
+0

Nie zapomnij dodać tych bibliotek! Jeśli korzystasz z npm: dodaj je do "devDependencies": {..} w pliku package.json i uruchom "npm install" –

Powiązane problemy