Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Node.js 如何禁用nodejs ChildProcess.spawn标准缓冲区?_Node.js_Buffer_Spawn - Fatal编程技术网

Node.js 如何禁用nodejs ChildProcess.spawn标准缓冲区?

Node.js 如何禁用nodejs ChildProcess.spawn标准缓冲区?,node.js,buffer,spawn,Node.js,Buffer,Spawn,我正在尝试使用以下代码截取指南针手表输出: var spawn = require('child_process').spawn; var child = spawn('compass', ['watch'], { cwd: process.cwd() }); process.on('data', function (data) { console.log('[log] ' + data); }); 我的问题是:我必须保存两次文件,以使覆盖消息在stdout中显示出来。这是一个示例

我正在尝试使用以下代码截取
指南针手表
输出:

var spawn = require('child_process').spawn;

var child = spawn('compass', ['watch'], { cwd: process.cwd() });

process.on('data', function (data) {
    console.log('[log] ' + data);
});
我的问题是:我必须保存两次文件,以使覆盖消息在stdout中显示出来。这是一个示例输出

在节点compass.js之后

[log] >>> Compass is watching for changes. Press Ctrl-C to Stop.
在我保存文件之后

[log] >>> Change detected at 20:17:19 to: components/_avatar.scss
在我第二次保存文件之后

[log] overwrite assets/css/modules/projects.css 
>>> Change detected at 20:17:26 to: components/_avatar.scss

看起来“overwrite assets/css/modules/projects.css”正在被缓冲。有什么办法可以避免这个缓冲区吗?

我刚刚发现,compass(或者OSX)才是真正的罪魁祸首。如果我运行
compass watch
,输出会立即更新。但是,如果我运行
compass watch>out.log
则会出现与节点相同的行为