在浏览器中实现 stdout.write / stderr.write



我有一些Node.js代码,并希望让它运行浏览器。在我的 Node.js 代码中的许多地方,我已经调用了 process.stdout.writeprocess.stderr.write

在浏览器中,我们有控制台.log/console.error

我在这里不需要高性能。如果我像这样在浏览器中实现这些方法:

process.stdout.write = function(v){
   console.log(v);
};
process.stdout.error = function(v){
   console.error(v);
};

这显然不会真正得到我们想要的东西。有没有办法在浏览器中挂接到 console.log/console.error 以打印到 stdout/stderr 而不打印换行符?

这应该有效:

var stdout = '';
process.stdout.write = function(s) {
  stdout += s;
  for (var i; -1 !== (i = stdout.indexOf('n')); stdout = stdout.slice(i + 1))
    console.log(stdout.slice(0, i));
};

同上。

但是您需要一种方法来刷新最后一个切片。

相关内容

  • 没有找到相关文章

最新更新