Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory leaks 使用factor bundle和watchify配置Browserify_Memory Leaks_Browserify_Watchify_Factor Bundle - Fatal编程技术网

Memory leaks 使用factor bundle和watchify配置Browserify

Memory leaks 使用factor bundle和watchify配置Browserify,memory-leaks,browserify,watchify,factor-bundle,Memory Leaks,Browserify,Watchify,Factor Bundle,我正在尝试将我的应用程序配置为使用browserify和watchify以及factor bundle。然而,我似乎要么最终导致内存泄漏,要么破坏watchify触发的构建 我的build.js var browserify = require('browserify'), watchify = require('watchify'), fromArgs = require('watchify/bin/args'), fs = require('fs'); var in

我正在尝试将我的应用程序配置为使用browserify和watchify以及factor bundle。然而,我似乎要么最终导致内存泄漏,要么破坏watchify触发的构建

我的build.js

var browserify = require('browserify'),
    watchify = require('watchify'),
    fromArgs = require('watchify/bin/args'),
    fs = require('fs');

var inputs = [
  './client/src/application.js'
];

var outputs = [
  'app/assets/javascripts/bundles/application.js'
];

var commonOutput = 'app/assets/javascripts/bundles/common.js';

var bundle = function(b){
  b.plugin('factor-bundle', { outputs: outputs });
  b.transform('browserify-shim');
  b.bundle().
    on('error', function(err) {
      console.log(err.toString());
      this.emit('end');
    }).
    pipe(fs.createWriteStream(commonOutput));
};

var watcher = watchify(browserify(watchify.args));

watcher.add(inputs);    
watcher.on('update', function(ids) {
  bundle(watcher);
  console.log('updated with ids:', ids);
});

watcher.on('log', function(msg) {
  console.log(msg);
});

bundle(watcher);
通过这种配置,我最终得到:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.EventEmitter.addListener (events.js:160:15)
    at Labeled.Readable.pipe (/Users/bmcmullen/dev/whitepages/fouroneone_line/node_modules/factor-bundle/node_modules/labeled-stream-splicer/node_modules/stream-splicer/node_modules/readable-stream/lib/_stream_readable.js:527:8)
    at /Users/bmcmullen/dev/whitepages/fouroneone_line/node_modules/factor-bundle/index.js:73:43
    at Array.reduce (native)
    at Transform._flush (/Users/bmcmullen/dev/whitepages/fouroneone_line/node_modules/factor-bundle/index.js:65:35)
    at Transform.<anonymous> (/Users/bmcmullen/dev/whitepages/fouroneone_line/node_modules/factor-bundle/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:135:12)
    at Transform.g (events.js:180:16)
...
(节点)警告:检测到可能的EventEmitter内存泄漏。增加了11名听众。使用emitter.setMaxListeners()增加限制。
痕迹
位于WriteStream.EventEmitter.addListener(events.js:160:15)
在label.Readable.pipe(/Users/bmcmullen/dev/whitepages/fouroneone_-line/node_-modules/factor bundle/node_-modules/label-stream-pitter/node_-modules/Readable-stream/lib/_-stream_-Readable.js:527:8)
at/Users/bmcmullen/dev/whitepages/fouroneone_line/node_modules/factor bundle/index.js:73:43
at Array.reduce(本机)
在Transform.\u flush(/Users/bmcmullen/dev/whitepages/fouroneone\u line/node\u modules/factor bundle/index.js:65:35)
在变换时。(/Users/bmcmullen/dev/whitepages/fouroneone_line/node_modules/factor bundle/node_modules/through2/node_modules/readable stream/lib/_stream_transform.js:135:12)
在Transform.g(events.js:180:16)
...

我假设这是因为我每次都在创建写流,而旧的写流没有被收集?但是我想不出正确的方法。

你有没有找到解决这个问题的方法?我也有同样的问题。