이 글은 주로 nodejs 터미널 인쇄 진행률 표시줄 예제 코드를 소개합니다. 편집자는 이것이 꽤 좋다고 생각합니다. 이제 이를 여러분과 공유하고 참고용으로 제공하겠습니다. 편집기를 따라 살펴보겠습니다
1. 장면 가져오기
많은 수의 파일을 일괄 처리할 때(예: 업로드/다운로드, 저장, 컴파일 등), 코드나 프로그램이 출시되고 사용자가 적절한(터미널/명령줄) 설치 프로세스를 수행할 때 현재 진행 상황이나 실패한(성공한) 작업 수를 알고 싶어하는 경우가 많습니다. ) 진행 바는 설치 단계와 과정을 정확하게 반영하여 프로그램의 사용성을 향상시키고, 기다리는 동안 사용자의 걱정을 어느 정도 완화할 수 있습니다...
2. 기본 원칙
첫째, 터미널에서 텍스트를 인쇄하는 것이 더 쉽습니다. 그런 다음 간단한 텍스트와 기호를 사용하여 명령줄의 효과를 직접 조합할 수 있습니다(아래 예):
업로드된 파일: 43.60% ████████████████ ██████/ 150/344
물론 진행률 표시줄은 필요에 따라 직접 효과를 디자인할 수 있습니다. 여기서는 단지 참고 사항일 뿐입니다.
여기서 명령줄을 도구 모듈에 인쇄하는 방법을 구성 progress-bar.js
하고 구체적인 구현은 다음과 같습니다.-)
// 这里用到一个很实用的 npm 模块,用以在同一行打印文本 var slog = require('single-line-log').stdout; // 封装的 ProgressBar 工具 function ProgressBar(description, bar_length){ // 两个基本参数(属性) this.description = description || 'Progress'; // 命令行开头的文字信息 this.length = bar_length || 25; // 进度条的长度(单位:字符),默认设为 25 // 刷新进度条图案、文字的方法 this.render = function (opts){ var percent = (opts.completed / opts.total).toFixed(4); // 计算进度(子任务的 完成数 除以 总数) var cell_num = Math.floor(percent * this.length); // 计算需要多少个 █ 符号来拼凑图案 // 拼接黑色条 var cell = ''; for (var i=0;i<cell_num;i++) { cell += '█'; } // 拼接灰色条 var empty = ''; for (var i=0;i<this.length-cell_num;i++) { empty += '░'; } // 拼接最终文本 var cmdText = this.description + ': ' + (100*percent).toFixed(2) + '% ' + cell + empty + ' ' + opts.completed + '/' + opts.total; // 在单行输出文本 slog(cmdText); }; } // 模块导出 module.exports = ProgressBar;
3 . 실행
위 구현을 바탕으로 먼저 이 progress-bar.js
의 사용법에 대해 이야기해 보겠습니다.
// 引入工具模块 var ProgressBar = require('./progress_bar'); // 初始化一个进度条长度为 50 的 ProgressBar 实例 var pb = new ProgressBar('下载进度', 50); // 这里只是一个 pb 的使用示例,不包含任何功能 var num = 0, total = 200; function downloading() { if (num <= total) { // 更新进度条 pb.render({ completed: num, total: total }); num++; setTimeout(function (){ downloading(); }, 500) } } downloading();
위 코드를 실행하면 실행 효과는 다음과 같습니다.
js를 배워야 하는 학생은 php 중국어 사이트를 주목해주세요 js 영상 튜토리얼, 많은 js 온라인 비디오 튜토리얼을 무료로 시청할 수 있습니다!
위 내용은 nodejs 터미널에서 진행률 표시줄을 인쇄하는 예제 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!

gm是基于node.js的图片处理插件,它封装了图片处理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式调用。gm插件不是node默认安装的,需执行“npm install gm -S”进行安装才可使用。

今天跟大家介绍一个最新开源的 javaScript 运行时:Bun.js。比 Node.js 快三倍,新 JavaScript 运行时 Bun 火了!

在nodejs中,lts是长期支持的意思,是“Long Time Support”的缩写;Node有奇数版本和偶数版本两条发布流程线,当一个奇数版本发布后,最近的一个偶数版本会立即进入LTS维护计划,一直持续18个月,在之后会有12个月的延长维护期,lts期间可以支持“bug fix”变更。

大家都知道 Node.js 是单线程的,却不知它也提供了多进(线)程模块来加速处理一些特殊任务,本文便带领大家了解下 Node.js 的多进(线)程,希望对大家有所帮助!

node怎么爬取数据?下面本篇文章给大家分享一个node爬虫实例,聊聊利用node抓取小说章节的方法,希望对大家有所帮助!


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
