Require JavaScript là gì

Xin chào tất cả mọi người, trước đây khi bắt đầu sử dụng import để thay thế require một package hay một module đã có để sử dụng.

Có một thắc mắc là tại sao lại sinh ra thằng import nhỉ trong khi require vẫn dùng tốt?

Sau khi tìm hiểu hôm nay mình sẽ trả lời thắc mắc đó theo suy nghĩ của mình, các bạn cùng đọc và cho ý kiến nhé

1. Require là gì?

Là hàm được xây dựng trong Nodejs theo chuẩn commonjs giúp việc khai báo sử dụng các module đã có sẵn rất dễ dàng, xem ví dụ dưới nhé

Tạo ra một module trong file

hello.js

module.exports = function [] {
  console.log['Hello everybody!']
}

Giờ, require hello.js vào để sử dụng

main.js

var hello = require['./hello.js']

hello[]; // Hello everybody

Rất dễ dàng phải không nào :v

2. Import là gì?

Là tính năng trong ES6 giúp việc khai báo sử dụng các module đã có sẵn rất dễ dàng, à hình như cũng khá là giống require nhỉ :v. Vậy chúng khác nhau cái gì đây, _- chả nhẻ chỉ đổi cách xưng hô, qua phần 3 sẽ rõ nhé. **Let's go*

3. Sự khác nhau giữa require và import

Giống nhau

Trước khi nói điểm khác thì mình xin nói điểm giống giữa hai thằng require và import này nhé

  • Giúp việc khai báo sử dụng các module đã có sẵn rất dễ dàng, quản lí code theo module tốt hơn
  • Khi biên dịch thì import cũng trở về require để code có thể thực thi

Khác nhau

Thực chất là những thứ hay ho mà thằng import này có mà thằng có nhé [Lí do được sinh ra]

  • Theo mình cảm nhận thì khi dùng thằng import thì mọi người thấy code mình sáng hơn phải không nào đó là điều đầu tiền mà import mang lại nhé [Cảm quan thôi :v] => Giúp code dễ nhìn đẹp đẽ hơn

  • require trong Nodejs theo chuẩn commonjs, còn import mới có trong ES6

  • Trong một package, file có nhiều module thì việc mong muốn chỉ khai báo các module muốn sử dụng để khỏi lãng phí tài nguyên là mong muốn chính đáng phải không nào [Good good good]. import cho phép bạn lấy ra từng phần mà bạn thực sự dùng [Không cần lấy ra cả package hay file như anh require nhé] => Giúp tiết kiệm bộ nhớ

  • Đối với require việc thực thi theo synchronous [Đồng bộ]. Còn đối với import sẽ thực thi theo asynchronous [Bất đồng bộ], không quan tâm Chi Dân tới import thằng trên mình => Hiệu suất cải thiện hơn

var hello = require['./hello.js']
var hello1 = require['./hello1.js']
var hello2 = require['./hello2.js']

Lúc loading lên lần lượt là hello -> hello1 -> hello2
-----------------------------

import hello from './hello.js'
import hello1 from './hello1.js'
import hello2 from './hello2.js'

Lúc loading lên có thể là là hello2 -> hello -> hello1

4. Kết bài

Đến đây cũng đã hết bài viết rồi, cảm ơn mọi người đã theo dõi. Nếu có góp ý hay thắc mắc gì thì cứ để lại comment bên dưới mình sẽ trả lời. Xin chào mọi người.

Ngày hôm nay chúng ta sẽ đi vào tìm hiểu module and require và cách thêm, sửa, xoá... file trong Nodejs và cách áp dụng chúng vào trong quá trình dự án phát triển website nha.

Nếu bạn muốn xem lại bài 2 thì truy cập ở đây nha.

Module Và Require Trong Nodejs

Module là một chức năng giúp bạn có thể dễ dàng chia file javascript phức tạp thành các file nhỏ hơn để từ đó thuận lợi trong việc sử dụng lại [reusable code] cũng như duy trì[maintain] dự án được dễ dàng hơn.

Để giúp bạn dễ hiểu hơn thì bay giờ chúng ta sẽ đi vào tìm hiểu ví dụ thực tế nha. Đầu tiên mình sẽ tạo hai file js có tên là app.jscar.js như hình ảnh sau nhé!

Bây giờ mình sẽ sử dụng module và require để lấy dữ liệu trong car.js sau đó sử dụng lại cho app.js thông qua đoạn mã sau:

File car.js

 const car = ['bmw', 'audi', 'toyota'];
module.exports = car;

File app.js

 const car = require['./car'];
console.log[car];

Và bây giờ bạn xem video kết quả bên dưới nhé!

Tiếp theo mình sẽ hướng dẫn bạn cách để có thể export hai hay nhiều object trong module thông qua ví dụ dưới đây nhé! Đầu tiên chúng ta sẽ thêm một mảng có tên là price dùng để chứa các giá tiền trong file car.js:

File car.js

 const car = ['bmw', 'audi', 'toyota'];
const price = [10000, 15000, 8000];
module.exports = { car, price };

File app.js

 const {car, price} = require['./car'];
console.log[car];
console.log[price];

Và bây giờ chúng ta sẽ cùng nhau xem kết quả nhé!

File System Nodejs

Trong phần này mình sẽ hướng dẫn bạn cách để có thể tương tác với các file trong máy tính như đọc, xoá, tạo mới... bằng javascript nhé!

Đọc File

Đầu tiên mình sẽ tạo một file

 const car = require['./car'];
console.log[car];
2 dùng để luu trữ văn bản.

Tiếp theo để tương tác với file trong máy tính trong Node thì chúng ta cần import module

 const car = require['./car'];
console.log[car];
3 trong file app.js.

Bây giờ mình sẽ sử dụng phương thức readFile trong fs để đọc file

 const car = require['./car'];
console.log[car];
2 thông qua đoạn code sau nhé:

const fs = require['fs'];
fs.readFile['./doc.txt', [err, data] => {
    if[err] {
        console.log[err];
    } else {
        console.log[data.toString[]];
    }
}]

Và bây giờ chúng ta sẽ chạy chương trình và xem kết quả nha.

Write File

Trong phần này chúng ta sẽ đi vào sử dụng writeFile để tạo một File mới trong máy tính thông qua đoạn code sau nhé:

fs.writeFile['./doc2.txt', 'Hello Niem vui lap trinh 2', [] => {
    console.log['File was written']
}]

Ở đây mình xin giải thích một số điểm cần chú ý là :

  • ./doc2.txt: là tên và đường dẫn chứa thư mục của file chúng ta cần tạo.
  • Hello Niem vui lap trinh 2: lnội dung trong file.

Bây giờ chúng ta đi vào xem kết quả nha.

Delete File

Để xoá một file trong Nodejs thì chúng ta sẽ sử dụng câu lệnh unlink. Và để dễ hình dung thì bạn xem đoạn mã bên dưới nha.

if[fs.existsSync['./doc2.txt']] {
  fs.unlink['./doc2.txt', [err] => {
    if[err]{
      console.log[err];
    } else{
      console.log['File was delete']
    }
  }]
}

Mình xin giải thích một số điểm là:

  • fs.existsSync: Dùng để kiểm tra File có tồn tại hay chưa.
  • Nếu tồn tại thì sẽ xoá file bằng lệnh unlink. Ngược lại thì sẽ hiển ra lỗi.

Tổng kết:

Qua đây mình mong bài viết sẽ cung cấp thêm cho bạn những kiến thức về rmodule and require và cách thêm, sửa, xoá... file trong Nodejs hữu ích cho việc phát triển, thiết kế web và nếu có thắc mắc gì cứ gửi email mình sẽ phản hồi sớm nhất có thể. Rất mong bạn tiếp tục ủng hộ trang web để mình có thể viết nhiều bài hay hơn nữa nhé. Chúc bạn có một ngày vui vẻ!

Require [] JS là gì?

require[] dùng để gọi thực thi các thuộc tính hay các phương thức trong module đã được định nghĩa và nó thường đặt trong main. js. define[] sử dụng để định nghĩa module và giúp module có thể tái sử dụng dễ dàng.

CommonJS module là gì?

Trong bài viết, cụm từ CommonJS module được dùng để chỉ module specs và interface [ require/exports. ○○ / module. exports ] dùng Node. js độc lập mở rộng CommonJS từ cơ sở specs của Modules 1.0 của CommonJS .

Chủ Đề