3个值得收藏的实用nodejs软件包

3个值得收藏的实用nodejs软件包

视频教程推荐:nodejs 教程

Node.js已成为IT不可或缺的一部分。有了自己的软件包管理器NPM,Node可以发现许多非常有用的库和框架。

在本文中,我将向您展示一些使用Node.js构建复杂动态应用程序的可能性。

1、Chalk:在终端中设置输出样式

在开发新的Node.js应用程序期间 console.log 必不可少,不管我们用它来输出错误、系统数据还是函数和co的输出。但是,这确实会造成一些混乱,因为默认情况下 console.log 函数在终端中输出纯白色文本。

Chalk改变了这一点。

只需像往常一样从https://www.npmjs.com/package/chalk用 npm install chalk 安装Chalk就可以了。

这是一个代码示例,下面是我的终端的实际情况。

const chalk = require(‘chalk’)// just blue fontconsole.log(chalk.blue(‘this is lit’))// blue & bold font, red background (bg = background)console.log(chalk.blue.bgRed.bold(‘Blue & Bold on Red’))// blue font, red backgroundconsole.log(chalk.blue.bgRed(‘Regular Blue on Red’))// combining multiple font colorsconsole.log(chalk.blue(‘Blue’) + ‘ Default’ + chalk.red(‘ Red’))// Underlining textconsole.log(chalk.red(‘There is an ‘, chalk.underline(‘Error’)))// Using RGB-colorsconsole.log(chalk.rgb(127, 255, 0).bold(‘Custom green’))

登录后复制

输出:

1.png

2、Morgan — 记录HTTP请求中的所有重要信息

同样,这在应用程序的开发中特别有用。因为HTTP请求是数字世界的心跳,所以完全控制对应用程序中影响它们的所有内容的重要性如此重要。

Morgan提供了有关此的重要信息。

像往常一样,通过 npm install morgan 从 https://www.npmjs.com/package/morgan  获取它,在morgan中,我们可以定义我们想要获得的关于请求的信息。

正如在描述的文档中所述,只需将其传递到morgan中间件中,因此我们将在下面的代码示例中使用它。

const express = require(‘express’)const morgan = require(‘morgan’)const app = express()app.use(morgan( ‘:method :url :status :response-time ms’))app.get(‘/’, function(req, res) {  res.send(‘hello, world!’)})app.listen(8080)

登录后复制

因此,我们希望获得有关传入HTTP请求的以下详细信息:方法,请求的URL,请求的状态以及响应所花费的时间。

在浏览器中打开网站时,运行此代码应导致以下输出:

2.png

当我们在浏览器中打开页面时,它总是向服务器发出GET-Request请求,因为我们请求了 /,morgan也会显示这个,以及我们的“hello, world!”站点被成功交付——这意味着状态码200。整个执行过程大约需要2.3毫秒,这相当快。

但我们不仅要求我们的网站,而且浏览器也总是要求一个favicon,找不到——错误状态404。

让我们来衡量一个实验:我们更改代码,使每个响应之前有200毫秒的停顿。以下是代码中的更改:

app.get(‘/’, function(req, res) {  setTimeout(function() {    res.send(‘hello, world!’)  }, 200)})

登录后复制

现在,当我们再次在浏览器中请求页面时,morgan将记录此内容:

3.png

现在,响应花费了200多个毫秒——就像我们想要的那样。但最后,页面再次成功交付,除了favicon,我们现在还没有,而且只用了几个MS,因为我们只延迟了对 / 路由的请求。

3、Cheerio:使用类似jQuery的语法处理服务器上已经存在的DOM

特别是当我们不提供静态HTML文件而是动态网站时,Cheerio非常实用。我们可以在浏览器的请求和响应之间直接修改请求的HTML代码,而客户端不会知道。由于类似jQuery的语法,这特别容易。当然,您也可以使用Cheerio做爬虫和其他许多操作。

使用 npm install cheerio 从 https://www.npmjs.com/package/cheerio  安装。通过Cheerio,我们可以获得有关HTML结构和内容的信息:

const template = `  
    

Welcome on our site

  
`const $ = cheerio.load(template)console.log($(‘h1’).text()) // Welcome on our site

登录后复制

将HTML添加到现有模板:

let template = `  
    

Welcome on our site

  
`const $ = cheerio.load(template)$(‘div’).append(‘

Paragraph

’)template = $.html()

登录后复制

现在的模板:

   

Welcome on our site

     

Paragraph

登录后复制

但是Cheerio最常用的一种情况可能是随后将内容写入模板:

let template = `  
    

  
`const $ = cheerio.load(template)$(‘h1’).append(‘New welcome message!’)template = $.html()

登录后复制

现在的模板:

   

New welcome message!

 

登录后复制

而且,您可以使用Cheerio做更多的事情。只需查看文档即可!

更多编程相关知识,请访问:编程入门!!

以上就是3个值得收藏的实用nodejs软件包的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2725002.html

(0)
上一篇 2025年3月7日 23:19:10
下一篇 2025年2月25日 23:54:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何编写自己的虚拟DOM?方法介绍

    要构建自己的虚拟DOM,需要知道两件事。你甚至不需要深入 React 的源代码或者深入任何其他虚拟DOM实现的源代码,因为它们是如此庞大和复杂——但实际上,虚拟DOM的主要部分只需不到50行代码。 有两个概念: Virtual DOM 是真…

    2025年3月7日 编程技术
    200
  • node.js中怎么进行调试?

    相关推荐:《nodejs 教程》 用了几天node.js感觉很新奇,但是调试问题实在是愁煞人,开始的时候懒的学习调试方法,看看异常内容就可以了,但随着代码复杂程度的上升,并不是所有错误都是语法错误了,不调试搞不定了,只好搜搜资料,学习了一下…

    2025年3月7日 编程技术
    200
  • 浅析NodeJS中的Buffer

    相关推荐:《node js教程》 当年是看了朴灵的九浅一深 NodeJS 入门的 Node, 朴大大的书讲实践很少更多的篇幅用在了讲原理上,道理听了那么多,后来开始在前端工程领域使用 NodeJS 却处处掣肘,总结原因发现 NodeJS 中…

    2025年3月7日
    200
  • 了解NodeJS中的可读流

    相关推荐:《node js教程》 什么是可读流 可读流是生产数据用来供程序消费的流。我们常见的数据生产方式有读取磁盘文件、读取网络请求内容等,看一下前面介绍什么是流用的例子: const rs = fs.createReadStream(f…

    2025年3月7日
    200
  • Nodejs中什么是可写流?怎么使用

    相关推荐:《nodejs 教程》 什么是可写流 可写流是对数据流向设备的抽象,用来消费上游流过来的数据,通过可写流程序可以把数据写入设备,常见的是本地磁盘文件或者 TCP、HTTP 等网络响应。 看一个之前用过的例子 process.std…

    2025年3月7日
    200
  • 浅谈Nodejs中的​双工流

    相关推荐:《node js教程》 双工流就是同时实现了 Readable 和 Writable 的流,即可以作为上游生产数据,又可以作为下游消费数据,这样可以处于数据流动管道的中间部分,即 rs.pipe(rws1).pipe(rws2).…

    2025年3月7日
    200
  • 如何使用Llama Logs显示和调试NodeJS错误?

    本篇文章给大家介绍一下node开发神器–llama logs,使用llama logs实时可视化node错误。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 相关推荐:《nodejs 教程》 你是否想知道程序内…

    2025年3月7日
    200
  • 使用Node.js+Vue.js来构建文件压缩应用程序

    相关推荐:《node js教程》 Node.js为我们提供了一个模块来协助文件压缩。在本文中,我们将构建一个应用程序,用户可以在该应用程序中上传他们想要压缩的文件,然后使用Node.js Zlib模块下载该文件的压缩版本。 前提 要继续学习…

    2025年3月7日 编程技术
    200
  • 23个需要了解的十分有用的nodejs库(推荐)

    相关推荐:《node js教程》 作为专业的开发人员,我们必须不断更新最新和最好的库,因为知道好的库,那么开发过程就可以依赖于它们,这会节省我们很多时间也有助于构建高质量的软件。 下面列表常见且好用的 NodeJS 库,反正我自己是已经收藏…

    2025年3月7日 编程技术
    200
  • 详解Node.js中的事件

    相关推荐:《nodejs 教程》 前端对事件肯定不陌生,为 window 绑定 scroll 事件 window.addEventListener(‘scroll’, ev => {console.log(ev);}); 登录后复制 …

    2025年3月7日
    200

发表回复

登录后才能评论