取決於你想要做什麼。
如果你只是想將文本添加到文件的開頭或結尾gulp-header
和gulp-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
。這使您可以直接訪問文件內容,並允許您執行任何可以用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文件中的「devDependencies」:{..},然後運行「npm install」 –