我在一个VS2015项目中使用Gulp在JavaScript文件上使用fix选项集运行fix。目的是修改所读取的同一个文件(即源和目标是相同的)。
var gulp = require('gulp');
var jscs = require('gulp-jscs');
var chmod = require('gulp-chmod');
var exec = require('gulp-exec');
var ourJsFiles = // an array of files and globbed paths
gulp.task('jscs', function (callback) {
ourJsFiles.forEach(function (fn) {
gulp.src(fn, { base: './' })
.pipe(jscs({
"preset": "google",
"maximumLineLength": 160,
"validateIndentation": 3,
"fix": true
}))
.pipe(gulp.dest('./'));
});
callback();
});但是我不想处理任何只读的文件。在Windows上的Gulp中是否已经有检测到这种情况的方法?
发布于 2016-11-11 22:14:47
有一个插件允许您处理文件的子集:吞咽式过滤器。其中一个选项是传递将接收乙烯基文件对象的筛选器函数,因此,例如,您可以使用该对象的stat.mode属性,该对象拥有权限并执行如下操作:
var filter = require('gulp-filter');
...
var writableFiles = filter(function (file) {
//https://github.com/nodejs/node-v0.x-archive/issues/3045
var numericPermission = '0'+(e.stat.mode & parseInt('777', 8)).toString(8);
return numericPermission[1]==='6'
});
...
gulp.src(....)
.pipe(writableFiles)https://stackoverflow.com/questions/31841664
复制相似问题