0
我想运行这个sort-sass包使用吞咽任务。它只给出了通过cli或节点运行它的说明,我想知道是否有人可以给我一些关于如何去做这件事的提示。运行npm包作为吞噬任务
我想运行这个sort-sass包使用吞咽任务。它只给出了通过cli或节点运行它的说明,我想知道是否有人可以给我一些关于如何去做这件事的提示。运行npm包作为吞噬任务
我假设sort-sass
不接受文件流作为输入,但它想要一个字符串或缓冲区。
这里是相同的例子如npm module
页:
var fs = require('fs');
var sortSass = require('sort-sass');
gulp.task('sort-sass', [ /* list task deps here*/ ], function(){
var sassString = fs.readFileSync('some.sass');
var sortedSassString = sortSass(sassString);
// do something here (perhaps write it)
fs.writeFileSync('output.sass');
});
下面是他的异步版本相同的任务(相同的模式适用于所有其他npm async modules
):
var fs = require('fs');
var sortSass = require('sort-sass');
gulp.task('sort-sass', [ /* list task deps here*/ ], function(done){
// read the file
fs.readFile('some.sass', function(err, sassString){
if(err){
return done(err);
}
var sortedSassString = sortSass(sassString);
// do somthing else with the string...
// if you want to write it somewhere
fs.writeFile('filename.sass', sortedSassString, function(done);
});
});
另一种解决方案可以用a gulp plugin that deals with buffers来包装这样的模块,以便你可以这样写:
var sortSass = require('sort-sass');
gulp.task('sort-sass', [/* task deps here */], function(){
return gulp.src('some.sass')
.pipe(sortSass())
.pipe(gulp.dest('output.sass');
});