我如何将2个vinyl-fs与gulp合并,以避免从部分预编译任务创建临时文件

How can I merge 2 vinyl-fs with gulp to not create a temporary file from a partial pre-compiling task

本文关键字:编译 临时文件 创建 任务 2个 vinyl-fs 合并 gulp      更新时间:2023-09-26

为了协调SPA应用程序的样式,我想在JSON文件中定义一些样式变量,并在Less编译中使用它。

基本上可以这样工作:

gulp.src('variables.json')
    .pipe(function () {
        // process to create a less file from json
    })
    .pipe(gulp.dest('less/_variable.json.less'))
    .on('end', function(){
        gulp.src(['less/*.less', '!less/_*.less'])
            .pipe(plugins.less())
            .pipe(gulp.dest('css'))
    });

@import "_variables.json.less";
// Other things

是否有可能在不创建中间文件的情况下进行更少的编译?是否有可能将第一个任务的结果和Less源合并到同一个vinyl fs中来进行Less编译?

问好。

谢谢你的评论。但是我现在不想开始开发Less插件…所以,我采用了另一种方法。我开发了一个gulp插件,它预处理less文件以匹配@json-import指令,以在vinyl less文件中注入生成变量。

似乎工作得很好。所以我把它发表在了NPM上。

https://www.npmjs.com/package/gulp-less-json-import