我在VS2015项目中使用Gulp来运行jscs http://jscs.info/在 JavaScript 文件上使用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();
});
但是我愿意not想要处理任何只读文件。 Windows 上的 Gulp 中是否已经有一种方法可以检测到这一点?
有一个插件可以让您处理文件的子集:吞咽过滤器 https://github.com/sindresorhus/gulp-filter。
选项之一是通过过滤器函数,该函数将接收乙烯基文件对象 https://github.com/gulpjs/vinyl#file,所以对于例如你可以用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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)