为了协调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