12.使用 Node.js 输出到命令行

使用 Node.js 输出到命令行

使用console模块的基本输出

Node.js 提供了一个 console 模块,它提供了大量非常有用的方式来与命令行交互。

它与您在浏览器中找到的 console 对象基本相同。

最基本和最常用的方法是 console.log(),它将您传递给它的字符串打印到控制台。

如果您传递一个对象,它将把它呈现为一个字符串。

您可以将多个变量传递给 console.log,例如:

const x = 'x';
const y = 'y';
console.log(x, y);

和 Node.js 将打印两者。

我们还可以通过传递变量和格式说明符来格式化漂亮的短语。

例如:

console.log('My %s has %d ears', 'cat', 2);
  • %s 将变量格式化为字符串
  • %d 将变量格式化为数字
  • %i 仅将变量格式化为其整数部分
  • %o 将变量格式化为对象

举例:

console.log('%o', Number);

清除控制台

console.clear() 清除控制台(行为可能取决于使用的控制台)

计数元素

console.count() 是一个方便的方法。

用这个代码:

const x = 1
const y = 2
const z = 3
console.count(
  'The value of x is ' + x + 
  ' and has been checked .. how many times?'
)
console.count(
  'The value of x is ' + x + 
  ' and has been checked .. how many times?'
)
console.count(
  'The value of y is ' + y + 
  ' and has been checked .. how many times?'
)

发生的情况是 console.count() 将计算字符串被打印的次数,并在其旁边打印计数:

你可以只数苹果和橙子:

const oranges = ['orange', 'orange'];
const apples = ['just one apple'];
oranges.forEach(fruit => {
  console.count(fruit);
});
apples.forEach(fruit => {
  console.count(fruit);
});

重置计数

console.countReset() 方法重置与 console.count() 一起使用的计数器。

我们将使用苹果和橙子的例子来证明这一点。

const oranges = ['orange', 'orange'];
const apples = ['just one apple'];
oranges.forEach(fruit => {
  console.count(fruit);
});
apples.forEach(fruit => {
  console.count(fruit);
});

console.countReset('orange');

oranges.forEach(fruit => {
  console.count(fruit);
});

请注意对 console.countReset('orange') 的调用如何将值计数器重置为零。

打印堆栈跟踪

在某些情况下,打印函数的调用堆栈跟踪很有用,也许是为了回答问题您是如何到达代码的那部分的?

您可以使用 console.trace() 执行此操作:

const function2 = () => console.trace();
const function1 = () => function2();
function1();

这将打印堆栈跟踪。 如果我们在 Node.js REPL 中尝试,这就是打印的内容:

Trace
    at function2 (repl:1:33)
    at function1 (repl:1:25)
    at repl:1:1
    at ContextifyScript.Script.runInThisContext (vm.js:44:33)
    at REPLServer.defaultEval (repl.js:239:29)
    at bound (domain.js:301:14)
    at REPLServer.runBound [as eval] (domain.js:314:12)
    at REPLServer.onLine (repl.js:440:10)
    at emitOne (events.js:120:20)
    at REPLServer.emit (events.js:210:7)

计算花费的时间

您可以使用 time()timeEnd() 轻松计算函数运行所需的时间

const doSomething = () => console.log('test');
const measureDoingSomething = () => {
  console.time('doSomething()');
  // do something, and measure the time it takes
  doSomething();
  console.timeEnd('doSomething()');
};
measureDoingSomething();

标准输出和标准错误

正如我们所见,console.log 非常适合在控制台中打印消息。 这就是所谓的标准输出,或“stdout”。

console.error 打印到 stderr 流。

它不会出现在控制台中,但会出现在错误日志中。

为输出着色

您可以使用 转义序列 在控制台中为文本输出着色。 转义序列是一组标识颜色的字符。

例子:

console.log('\x1b[33m%s\x1b[0m', 'hi!');

你可以在 Node.js REPL 中尝试,它会以黄色打印 hi!

但是,这是执行此操作的低级方法。 为控制台输出着色的最简单方法是使用库。 Chalk 就是这样一个库,除了着色之外,它还有助于其他样式工具,例如使文本变为粗体、斜体或下划线。

你用 npm install chalk@4 安装它,然后你就可以使用它了:

const chalk = require('chalk');
console.log(chalk.yellow('hi!'));

使用 chalk.yellow 比尝试记住转义码要方便得多,而且代码的可读性也更高。

检查上面发布的项目链接以获取更多使用示例。

创建进度条

Progress 是一个很棒的包,用于在控制台中创建进度条。 使用 npm install progress 安装它

此代码段创建一个 10 步进度条,每 100 毫秒完成一个步骤。 当柱完成时,我们清除间隔:

const ProgressBar = require('progress');

const bar = new ProgressBar(':bar', { total: 10 });
const timer = setInterval(() => {
  bar.tick();
  if (bar.complete) {
    clearInterval(timer);
  }
}, 100);
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要正确使用Node.js搭建服务器,您可以按照以下步骤进行: 1. 安装Node.js:首先,您需要在您的计算机上安装Node.js。您可以从官方网站https://nodejs.org/下载并安装适合您操作系统的版本。 2. 创建项目文件夹:在您希望存放项目的位置创建一个文件夹,并进入该文件夹。 3. 初始化项目:在命令行使用`npm init`命令初始化项目。这将引导您完成创建`package.json`文件的过程。在这个文件,您可以设置项目的名称、版本和其他相关信息。 4. 安装必要的依赖:使用npm命令安装您需要的依赖。例如,如果您想要使用Express框架来搭建服务器,可以运行`npm install express`来安装Express。 5. 创建服务器文件:在项目文件夹创建一个新的JavaScript文件,例如`server.js`。这个文件将包含用于搭建服务器的代码。 6. 编写服务器代码:在`server.js`文件使用合适的代码来创建和配置服务器。以下是一个简单的示例: ```javascript const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, World!'); }); app.listen(3000, () => { console.log('Server started on port 3000'); }); ``` 在这个示例,我们使用Express框架创建了一个简单的服务器。`app.get('/')`定义了一个路由,当访问根路径时返回"Hello, World!"。`app.listen(3000)`指定服务器监听的端口为3000。 7. 启动服务器:在命令行,进入到项目文件夹,并运行`node server.js`来启动服务器。如果一切顺利,您将看到终端输出 "Server started on port 3000"。 这就是使用Node.js搭建服务器的基本步骤。根据您的需求,您可以进一步配置和扩展服务器的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值