2016-07-14 2 views
5

Gulp를 사용하여 모든 유형의 파일에 텍스트 줄을 추가하는 방법을 알아 내려고했습니다. 예를 들어Gulp를 사용하여 파일에 텍스트 줄을 추가하는 방법

추가 :

@import 'plugins' 

내 main.sass 파일에.

또는 index.html 파일에 CDN을 추가하십시오. 기쁨과

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

:

나는 시도했다. 내가 어떻게 이걸 얻을 수 있었는지 알았어?

답변

7

원하는 작업에 따라 다릅니다. 당신은 단지 파일의 시작 또는 끝 부분에 텍스트를 추가하려면

gulp-headergulp-footer 친구는 다음과 같습니다 당신이 당신의 파일에서 "앵커"몇 가지 종류의 텍스트가있는 경우

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

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

마지막으로 비닐 파일 조작의 스위스 군용 칼이있다 : map-stream. 이 파일의 내용에 당신에게 직접 액세스를 제공하고 당신이 자바 스크립트에서 생각할 수있는 문자열 조작의 모든 종류 수행 할 수 있습니다

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

그 라이브러리를 추가하는 것을 잊지 마세요를! npm을 사용하는 경우 : package.json 파일에서 "devDependencies": {..}에 추가하고 "npm install" –

관련 문제