错误:EMFILE,Gulp.watch打开的文件太多

时间:2015-05-07 09:41:31

标签: gulp gulp-watch browser-sync

我的gulpfile.js看起来像这样:

gulp.task('default', ['build', 'browser-sync'], function () {
    gulp.watch("**/*.css", ['bs-reload']);
    gulp.watch(["**/*.js", "!**/*/node_modules/**/*.*"], ['bs-reload']);
    gulp.watch("**/*.html", ['bs-reload']);
});

即使我已经排除了node_modules,它也试图将监视添加到所有node_modules。

如何排除它?

请注意,node_modules在项目的根目录中不存在,感染它位于项目的根目录之上,那为什么它甚至包括相同的呢?

Error: EMFILE, too many open files '/Users/**/Documents/gits/tm/node_modules/browser-sync/lib/public/socket.io.js'
    at Object.fs.openSync (fs.js:438:18)
    at Object.fs.readFileSync (fs.js:289:15)
    at Object.utils.getSocketScript (/Users/**/Documents/gits/tm/node_modules/browser-sync/lib/snippet.js:109:19)

1 个答案:

答案 0 :(得分:5)

尝试将此作为df.columns = [c.rstrip() for c in df.columns]

的替代品,以取代fs

graceful-fs

像这样全球修补fs

var realFs = require('fs')
var gracefulFs = require('graceful-fs')
gracefulFs.gracefulify(realFs)