如何解决如何将webpack-dev-server输出传递到节点脚本
我正在尝试将webpack-dev-server --progress
的输出传递给另一个节点脚本。我正在使用的命令是:
./node_modules/.bin/webpack-dev-server --progress | ./index.js
index.js
的内容是:
#!/usr/bin/env node
process.stdin.setEncoding('utf8');
process.stdin.on('readable',() => {
var input = process.stdin.read();
if (input !== null) {
process.stdout.write(`stdout: ${input}\n`);
var command = input.trim();
console.log(input.length); //this one is always 1 longer
console.log(command.length);
if (command === 'quit') {
process.exit(0);
}
}
});
我看到一个输出,但是并没有通过管道传递到index.js
,而是直接发送到终端并打印出来。
如果我运行以下命令,它将起作用:
tail -f file | ./index.js
我应该如何更改webpack-dev-server日志记录或index.js
,以便可以在脚本中处理日志记录?我正在使用fish外壳程序,并使用iTerm2和nodejs版本v12.18.3。
解决方法
也许您看到的不是stdout,而是stderr?
使用2> |将stderr重定向到stdin 和&|重定向stdout和stderr
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。