清除控制台源码中的 '\x1B[2J\x1B[0f' 和 '\x1B[2J\x1B[3J\x1B[H' 看不懂

正在看create-react-app的源码,看到其中有一个工具文件 clearConsole.js ,能够清除控制台:

function clearConsole() {
  process.stdout.write(process.platform === 'win32' ? '\x1B[2J\x1B[0f' : '\x1B[2J\x1B[3J\x1B[H');
}

1、请问这里的'x1B[2Jx1B[0f' 和 'x1B[2Jx1B[3Jx1B[H'是什么?
2、为什么这样就能起到清除控制台的效果?

谢谢!

阅读 7.2k
1 个回答

console都支持一些转义序列来做一些特殊的事情,不同的操作系统终端对转义序列的支持不完全一致,x1B就是ESC的asc码,后面这些2J什么的,就是某种转义序列,有很多转义序列可以用,比如控制光标,颜色什么的,可以参考维基百科: https://en.wikipedia.org/wiki...

链接中可以查到2J就是clear entire screen。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏