javascript - gulp 任务处理可写文件

标签 javascript windows visual-studio gulp

我在 VS2015 项目中使用 Gulp 来运行 jscs在设置了 fix 选项的 JavaScript 文件上。目的是修改读取的同一文件(即,源和目标相同)。

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 中是否已经有检测到这一点的方法?

最佳答案

有一个插件可以让你处理文件的子集:gulp-filter . 选项之一是传递将接收 vinyl file object 的过滤器功能,所以例如您可以使用拥有权限的对象的 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)

关于javascript - gulp 任务处理可写文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841664/

相关文章:

python - 在 Jupyter Windows 上使用池并行读取多个文件需要很长时间 :

c++ - ATL & COM - 多个服务器,一个二进制文件?

具有 3rd 方依赖性的 C++ 开发流程

javascript - onchange 和 oncontextmenu 与 onclick 不一样

javascript - 如何在移植到 ASP.NET MVC 的 Web 表单页面中顽固地保留旧的 JavaScript 事件处理程序?

python - 如何在 Windows cmd 上打印不支持的 unicode 字符,例如 "?"而不是引发异常?

windows - 如何检查一个进程中可以使用的地址空间的最大内存量

visual-studio - 我可以为 VS2012 调试保存多个命令参数吗

javascript - 如何使文本区域成为必填项

javascript - 如何在Android上转换手机网页?