CĂN BẢN
SERVER
MYSQL
MONGODB
MODULE
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Tìm hiểu về Global Objects trong NodeJS

Trong bài này chúng ta sẽ tìm hiểu Global Objects trong NodeJS, đây là những object có phạm vi toàn cục và bạn có thể sử dụng bất cứ đâu trong dự án NodeJS của mình.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Chắc hẳn ai đã từng học lập trình cũng đã từng nghe qua khái niệm về phạm vi toàn cục (global scope), điển hình như khi ta viết Javascript chạy trên trình duyệt nó cung cấp cho ta một object toàn cục là window. Chúng ta có thể gọi window trong bất cứ đâu mà không cần khai báo.

Trong NodeJS cung cấp cho chúng ta một vài object toàn cục (global Objects) hữu ích trong quá trình làm việc với NodeJS.

1. Global Objects trong NodeJS là gì ?

Global Objects là các object mà NodeJS cung cấp sẵn cho chúng ta trong nhân của NodeJS và trong các module. Bạn không cần phải khai bái hay include nó từ các thư viện khác mà chỉ cần gọi trực tiếp nó trong dự án. Các objects này có thể là một module, một hàm, object, string,... Các global objects được sử dụng rất thường xuyên trong lập trình với NodeJS. Chúng ta thử in ra các giá trị của biến global :

Bài viết này được đăng tại [free tuts .net]

Bạn mở file global.js có nội dung như sau:

console.log(global)

Bây giờ mở command lên và chạy dòng lệnh

node global.js

Chúng ta sẽ thấy các global objects mà NodeJS hỗ trợ như hình:

global-objects trong nodejs

Các bạn sẽ thấy khá nhiều và có lẽ chúng ta ít khi nào cần dùng hết chúng, vì vậy trong trong phạm vi bài viết này chúng mình sẽ tìm hiểu một cố global objects mà chúng ta hay dùng trong lập trình NodeJS như :

  • __dirname
  • __filename
  • Process
  • Console
  • Timer Functions

2. Tìm hiểu về một số Global Objects hay dùng

Một số obejcts chúng ta có thể gọi ở tất cả các module, tổn tại trong pham vi của module và bị hiểu nhầm là globals object.

  • __dirname
  • __filename
  • exports
  • module
  • require()

Biến __dirname trong NodeJS

Được dùng để trả về đường dẫn đến thư mục hiện tại, chúng ta thử tạo một file có tên là dirname.js có nội dung như sau:

console.log(__dirname)

chạy file dirname.js với dòng lệnh :

node dirname.js

Chúng ta sẽ nhận được đường dẫn của thư mục hiện tại chứ file dirname.js

dirname global object nodejs

Biến __filename trong NodeJS

Gần tương tự như __dirname, biến __filename trả về đường dẫn file đang chạy. Tạo file filename.js và chay đoạn code sau để xem kết quả :

console.log(__filename)

chạy file filename.js với dòng lệnh :

node filename.js

Chúng ta cũng sẽ nhận được đường dẫn đến file filename.js

/home/tri/Desktop/freetuts.net/dirname.js

Console Object trong NodeJS

Console là một global object khá quen thuộc với chúng ta, bởi mình cũng đưa ra ví dụ cụ thể và để cập đến nhiều. NodeJS cung cho chúng ta một vài phương thức trong object console như :

  • console.log() : Nó dùng để hiển thị các thông báo trên console
  • console.error() : HIển thị các thông báo lỗi trên console
  • console.warn() : Hiển thị các cảnh báo

console log nodejs

Buffer Object trong NodeJS

Buffer Class cũng là global objects được NodeJS hỗ trợ, nếu bạn chưa biết khái niệm Buffer là gì thì nó là vùng lưu trữ dữ liệu tạm thời được lưu trữ trong bộ nhớ Ram. NodeJS cung cấp cho chúng ta module Buffer cho phép ta có thể lưu trữ dữ liệu như một mảng các số nguyên tố. Moudle buffet được dùng thay vì lưu trữ bằng nhị phân bởi javascript thuần rất ít hỗ trợ nhị phân. Chúng ta có thể dùng module Buffer mà không cần khai báo.

Tạo một buffer ta có thể sử dụng đoạn code như

const buf = new Buffer('hello freetuts');   

Thêm giá trị vào buffer

buf.write(string, [offset], [length], [encoding])  

Chuyển buffer thành string

buf.toString([encoding], [start], [end])  

Các bạn có thể đọc thêm tài liệu về buffer trong docs của Nodejs ở trang chủ để tìm hiểu kĩ hơn

Timers Functions trong NodeJS

Timers functions cũng thuộc các global objects trong Nodejs, những bạn nào đã xem qua seri lập trình javascript căn bản chắc cũng đã tìm hiểu qua các hàm timers như : setTimeout, setInterval, setImmediate,..

Set Timer function

  • setImmediate() : chạy ngay lập tức (như cái tên của nó) =))
  • setTimeout() : chạy trong một khoảng thời gian.
  • setInterval(): lặp đi lặp lại trong khoảng thời gian

Clear timer functions

  • clearImmediate() : dừng một setImmediate objects, tạo bởi hàm setImmediate()
  • clearTimeout() : dừng một setTimeout objects, tạo bởi hàm setTimeout()
  • clearInterval() : dừng một setInterval objects, tạo bởi hàm setInterval()

Vì các hàm lại khá quen thuộc nên mình cũng không cần ví dụ mình họa, các bạn tìm hiểu kĩ hơn có thẻ tham khảo bài viết về seri lập trình javascript căn bản.

Trong bài hôm nay chúng ta đã tìm hiểu về một số các global objects trong NojdeJS, ngoài các objects mà mình đề cập đến ở trên Nodejs còn cung cấp cho chúng ta các objects khác như : exports, global, module, process. Để tìm hiểu thêm về các global object khác thì bạn có thể đọc tài liệu tại trang chính thức của NodeJS. Cảm ơn bạn đã ghé thăm, mong rằng bài viết sẽ cung cấp cho bạn kiến thức bổ ích trong lập trình NodeJS.

Cùng chuyên mục:

Cách gửi mail trong NodeJS có file đính kèm

Cách gửi mail trong NodeJS có file đính kèm

Crawl dữ liệu website bằng NodeJS cơ bản

Crawl dữ liệu website bằng NodeJS cơ bản

CORS là gì ? Xử lý CORS trong NodeJS

CORS là gì ? Xử lý CORS trong NodeJS

Chắc hẳn trong quá trình xử lý các request tới server thì một vài trường…

Xử lý form trong Express

Xử lý form trong Express

Xây dựng URL trong Express

Xây dựng URL trong Express

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về cách xây…

Populate trong Mongoose

Populate trong Mongoose

Error Handling & Debugging trong Socket.io

Error Handling & Debugging trong Socket.io

Namespaces & Rooms trong Socket.io

Namespaces & Rooms trong Socket.io

Middleware trong Mongoose

Middleware trong Mongoose

Create / Read / Update / Delete trong Mongoose

Create / Read / Update / Delete trong Mongoose

Validation trong Mongoose

Validation trong Mongoose

Subdocuments trong Mongooose

Subdocuments trong Mongooose

Documents trong Mongoose

Documents trong Mongoose

Trong bài viết này chúng ta sẽ tìm hiểu về documents trong Mongoose

Models trong Mongoose

Models trong Mongoose

SchemaTypes trong Mongoose

SchemaTypes trong Mongoose

Schemas trong Mongoose

Schemas trong Mongoose

Mongoose trong NodeJS

Mongoose trong NodeJS

Làm việc với Table MySQL sử dụng Nodejs

Làm việc với Table MySQL sử dụng Nodejs

Kết nối với MongoDB trong NodeJS

Kết nối với MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Top