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');
});