Gulp:如何在gulp-replace回调函数中访问文件名

时间:2015-10-21 19:09:33

标签: javascript replace gulp

我需要在html中注入css。项目结构如下:

/
   html/
        my-app.html
        app-header.html
        ...
   css/
       my-app.css
       app-header.css
       ...

因此,每个html文件都包含:

<style>
    <!-- inject:css -->
</style>

我想将CSS注入html。所以我发现了以下gulp任务:

gulp.task('replace', function() {
    gulp.src('html/*.html')
        .pipe(replace(/<!-- inject:css -->/, function(s) {
        var style = fs.readFileSync('style.css', 'utf8');
        return style;
    }))
    .pipe(gulp.dest('./dist/tmp'));
});

正如您所看到的,输入css文件名不正确,应该与html文件的名称相匹配(但当然用hss替换了html!)

如何访问该函数内的文件名?或者有更好的方法来完成这项工作吗?

0 个答案:

没有答案