3 package NodeJS hữu ích bạn nên thử

5 min


1043
1.4k share, 1043 points

Chalk — Tạo style output trong terminal của bạn

Đặc biệt trong quá trình phát triển một ứng dụng NodeJS mới, không thể thiếu console.log.

Không thành vấn đề nếu chúng ta sử dụng nó để xuất lỗi, dữ liệu hệ thống hoặc output. Tuy nhiên, nó có một chút khó hiểu, vì hàm console.log xuất ra văn bản thuần túy trong terminal theo mặc định.
Chalk Phấn thay đổi điều đó, và bạn giữ nguyên tổng quan.

Chỉ cần cài đặt nó như bình thường từ https://www.npmjs.com/package/chalk với câu lệnh sau

npm install chalk

Và bạn đã sẵn sàng.

Bên dưới là một ví dụ code và tất cả code NodeJS như thế này:

const chalk = require(‘chalk’)
// just blue font
console.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 background
console.log(chalk.blue.bgRed(‘Regular Blue on Red’))
// combining multiple font colors
console.log(chalk.blue(‘Blue’) + ‘ Default’ + chalk.red(‘ Red’))
// Underlining text
console.log(chalk.red(‘There is an ‘, chalk.underline(‘Error’)))
// Using RGB-colors
console.log(chalk.rgb(127, 255, 0).bold(‘Custom green’)

Output sẽ trông như thế này

Image for post

Morgan — Ghi lại log quan trọng từ request HTTP NodeJS

Morgan là một package hữu ích đối với phát triển web. Bởi vì request HTTP là nhịp tim của thế giới kỹ thuật số – đó là lý do tại sao việc có toàn quyền kiểm soát mọi thứ ảnh hưởng đến chúng trong ứng dụng của bạn là rất quan trọng.

Morgan cung cấp thông tin quan trọng về điều này.

Như thường lệ, tải nó từ https://www.npmjs.com/package/morgan qua

npm install morgan

Trong morgan, chúng ta có thể xác định những gì chúng ta muốn lấy dưới dạng thông tin về request.

Như trong tài liệu được mô tả, chỉ cần chuyển nó vào middleware morgan. Hãy xem đoạn code sau

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)

Vì vậy, chúng ta muốn biết chi tiết về request HTTP đến: phương thức, URL được request, trạng thái của request và thời gian phản hồi.

Và output sẽ trông như sau

Image for post

Sử dụng setTimeout

Và không có bất ngờ thực sự. Khi chúng ta mở trang của mình trong trình duyệt, nó luôn là GET-Request tới máy chủ, vì chúng ta đã request “/”, morgan cũng sẽ hiển thị điều này và “hello, world!” . Trang web đã được gửi thành công – có nghĩa là status hiện tại 200. Toàn bộ quá trình thực thi mất khoảng 2,3 mili giây, khá nhanh.

Trong lúc chúng ta request trang web thì trình duyệt còn request favicon.

Và trạng thái trông hình trên : Không thể tìm thấy cái nào – trạng thái lỗi 404.

Hãy thử nghiệm như sau: Chúng ta thay đổi code để có 200 mili giây tạm dừng trước mỗi response. Dưới đây là những thay đổi trong code:

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

Bây giờ morgan sẽ ghi log điều này, khi chúng ta request lại trang trong trình duyệt:

Image for post

Bây giờ response web NodeJS mất hơn 200 mili giây – đúng như chúng ta muốn.
Nhưng cuối cùng, trang được trạng thái 200.
Ngoại trừ favicon, chúng ta vẫn chưa có. Và chỉ mất một vài ms, vì trì hoãn các request cho tuyến “/”.

Cheerio — Thao tác với DOM đã có trên Máy chủ với syntax giống jQuery

Đặc biệt là khi chúng ta không phân phối các tệp HTML tĩnh mà là các trang web động, Cheerio rất phù hợp. Chúng ta có thể sửa đổi code HTML được request trực tiếp giữa request và phản hồi của trình duyệt mà khách hàng không biết về nó. Điều này đặc biệt dễ dàng vì cú pháp giống jQuery.

Tất nhiên bạn cũng có thể sử dụng Cheerio để thu thập thông tin và nhiều thứ khác.

Cài đặt từ cheerio với câu lệnh sau

npm install cheerio

Vì vậy, với Cheerio, chúng ta có thể nhận được thông tin về cấu trúc và nội dung HTML:
 

const template = `
  <div id=”main”>
    <h1 id=”message”>Welcome on our site</h1>
  </div>
`const $ = cheerio.load(template)console.log($(‘h1’).text()) // Welcome on our site

Thêm HTML vào template như sau:

let template = `
  <div id=”main”>
    <h1 id=”message”>Welcome on our site</h1>
  </div>
`
const $ = cheerio.load(template)
$(‘div’).append(‘<p class=”plum”>Paragraph</p>’)
template = $.html()

Template như sau

<div id="main">
  <h1 id="message">Welcome on our site</h1>
  <p class="plum">Paragraph</p>
</div>

Nhưng một trong những trường hợp được sử dụng nhiều nhất cho Cheerio có lẽ là việc viết nội dung tiếp theo vào template app NodeJS:

let template = `
  <div id=”main”>
    <h1 id=”message”></h1>
  </div>
`
const $ = cheerio.load(template)
$(‘h1’).append(‘New welcome message!’)
template = $.html()

Và template bây giờ:

<div id=”main”>
  <h1 id=”message”>New welcome message!</h1>
</div>

Kết luận

Hãy cài ngay 3 package trên để tận dụng hết khả năng bá đạo của chúng. Tăng thêm các tính năng cho app, project hiện tại của bạn.

Tham khảo thêm về NodeJS : Hướng dẫn viết app search realtime bằng NodeJS


Like it? Share with your friends!

1043
1.4k share, 1043 points

What's Your Reaction?

hate hate
1
hate
confused confused
0
confused
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
1
win