Node.js API 상세 한 tty 기능 과 용법 사례 분석
tty 는 단말기 의 뜻 으로 이해 할 수 있다.tty 모듈 은 터미널 과 관련 된 인 터 페 이 스 를 제공 하여 터미널 의 줄 수열 수 등 을 가 져 옵 니 다.
const tty=require('tty')를 통 해tty 모듈
process.stdout.isTTY
설명:
이 속성 은 process 모듈 에 있 습 니 다.Node.js 가 TTY 환경 에서 실행 되 는 지 여 부 를 판단 하 는 데 사 용 됩 니 다.
demo:
console.log(process.stdout.isTTY)
//true
tty.ReadStream 클래스설명:
tty.ReadStream 류 는 net.Socket 의 하위 클래스 로 TTY 의 읽 을 수 있 는 부분 을 표시 합 니 다.
정상 적 인 상황 에서 process.stdin 은 Node.js 프로 세 스 의 유일한 tty.ReadStream 인 스 턴 스 입 니 다.더 많은 인 스 턴 스 를 만 들 필요 가 없습니다.
즉,우리 가 수 동 으로 new 인 스 턴 스 를 사용 하지 않 고 process.stdin 을 직접 사용 하면 된다 는 것 이다.
readStream.isRaw
설명:
원본 모드 인지,기본 값 은 false 입 니 다.TTY 가 원본 모드 로 설정 되면 이 속성 값 은 true 입 니 다.
demo:
console.log(process.stdin.isRaw)
//false
readStream.setRawMode(mode)설명:
이 방법 은 TTY 를 원본 모드 로 설정 하 는 데 사 용 됩 니 다.원본 모드 에서 입력 은 문자 마다 유효 하 며 터미널 에서 문자 에 대한 모든 특수 처 리 는 응답 입력 문 자 를 포함 하여 사용 하지 않 습 니 다.이 모드 에서 CTRL+C 는 더 이상 SIGINT 가 발생 하지 않 습 니 다.
mode:true 나 false 를 전달 하여 원본 모드 를 닫 고 엽 니 다.readStream.isRaw 에 대응 하 는 값 도 변 경 됩 니 다.
demo:
process.stdin.setRawMode(true); //
console.log(process.stdin.isRaw);
//true
process.stdin.setRawMode(false); //
console.log(process.stdin.isRaw);
//false
tty.Write Stream 클래스설명:
tty.Write Stream 류 는 net.Socket 의 하위 클래스 로 TTY 의 쓰기 가능 한 부분 을 표시 합 니 다.
정상 적 인 상황 에서 process.stdout 과 process.stderr 는 Node.js 프로 세 스 의 유일한 tty.Write Stream 인 스 턴 스 입 니 다.더 많은 인 스 턴 스 를 만 들 필요 가 없습니다.
writeStream.columns
설명:
이 속성 은 현재 TTY 가 가지 고 있 는 열 수 를 나타 내 는 데 사 용 됩 니 다.resize 시간 이 실 행 될 때 이 속성 은 업 데 이 트 됩 니 다.
demo:
console.log(process.stdout.columns);
//88
writeStream.rows설명:
차 속성 은 현재 TTY 가 가지 고 있 는 줄 수 를 나타 내 는 데 사 용 됩 니 다.resize 시간 이 실 행 될 때 이 속성 은 업 데 이 트 됩 니 다.
demo:
console.log(process.stdout.rows);
//40
Event: resize설명:
TTY 창 이 바 뀌 면 resize 이벤트 가 실 행 됩 니 다.
demo:
process.stdout.on('resize', () => {
console.log(' !');
console.log(`${process.stdout.columns}x${process.stdout.rows}`);
});
// > !
// 86x40
// > !
// 85x40
// > !
// 84x40
tty.isatty(fd)설명:
주어진 fd 에 TTY 가 연결 되 어 있 으 면 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.
fd 수치 형식의 파일 설명자.
demo:
console.log(tty.isatty(2));
//true
console.log(tty.isatty(200));
//false
본 고 에서 말 한 것 이 여러분 의 node.js 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Grunt에서 즉석 템플릿 엔진이 필요했기 때문에 마침내 만들었습니다.jade 라든지 ejs 라고도 좋지만, 보다 심플하게 하고 싶다고 생각해. json을 떨어 뜨렸다. 플레이스홀더(:TAG)를 마련해, 이런 HTML 만들어 둔다. template.html 자리 표시자의 문자열을 키로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.