我想使用Gulp从 test1.js 文件中获取选择器并将其替换为 test2.js
test1.js
@Component({
selector: 'app-root',
...
})
export class AppComponent {}
所以,我想得到" app-root"来自 test1.js
test2.js
var selector = "#selector"
function() {}
在 test2.js 中,我想要替换" #selector"通过" app-root"。
我知道如何用文件中的另一个字符串替换字符串:
gulp.src('test2.js', {base: 'src/'})
.pipe(replace(new RegExp(/#selector/, 'g'), (match, p1) => {
return 'app-root';
}))
.pipe(gulp.dest('dist'));
但我不知道如何通过" app-root"到流替换。
我怎么能和Gulp一起做?
谢谢!
答案 0 :(得分:0)
我找到了如何使用 map-stream
执行此操作var gulp = require('gulp');
var map = require('map-stream');
var fs = require('fs');
gulp.task('default', function() {
gulp.src('./test1.js')
.pipe(map(function(file, callback) {
var test = file.contents.toString().match(/selector: '(.*)'/i);
fs.readFile('./test2.js', function read(err, data) {
if (test) {
fs.writeFile('./test2.js', data.toString().replace('#selector', test[1]));
}
});
}));
});