Mô-đun là gì?
Một mô-đun là một tệp chương trình riêng biệt trong Nút. js. Khi tạo một mô-đun, nó có thể được phân loại thành một nhóm tất cả các chức năng liên quan thành một tệp. Ví dụ:
// ngày. js
getYear = function[] { return new Date[].getFullYear[]; } getMonth = function[] { return new Date[].getMonth[]; }
Trong ví dụ trên, chúng tôi đã nhóm các chức năng liên quan đến ngày vào một tệp chương trình và đặt tên là ngày. js. Chúng ta có thể sử dụng lại các chức năng này trong cùng một tệp lập trình. Nếu bạn muốn sử dụng các chức năng này ở nơi khác trong ứng dụng hoặc một số chương trình khác, bạn phải xuất các chức năng này để sử dụng lại
Mục đích của một mô-đun
Giữ tất cả các chương trình chức năng trong một tệp duy nhất thực sự khó duy trì và xử lý trong quá trình phát triển. Việc chia mã thành nhiều tệp có thể truy cập cho phép chúng tôi đặt tên tệp phù hợp cho mọi tệp. Bằng cách này, bạn có thể dễ dàng xác định mô-đun và biết tìm nó ở đâu vào những lúc cần thiết. Việc có các mô-đun giúp dễ dàng tìm thấy các phần nhất định của mã, giúp mã dễ bảo trì hơn.
Xuất mô-đun
Như từ “xuất khẩu” có nghĩa là gửi đồ đến nơi cần thiết. Đây cũng là một cái gì đó tương tự. Ở đây, chúng ta phải hẹn hò. js có thể sử dụng lại trong các tệp khác. Hãy thay đổi ngày. chương trình js,
// ngày. js
module.exports = { getYear: function[] { return new Date[].getFullYear[]; }, getMonth: function[] { return new Date[].getMonth[]; } }
Bây giờ, chúng ta có thể sử dụng các chức năng này ở nơi khác trong ứng dụng hoặc thậm chí trong một số chương trình khác
cũng đọc
Cách thu thập, tùy chỉnh và tập trung nút. Nhật ký js
Nhập một mô-đun
Để nhập mô-đun, chúng tôi đang sử dụng từ khóa “yêu cầu” trong Nút. js. require[] là một hàm đặc biệt được định nghĩa là một phần của thông số CommonJS. Để đưa các mô-đun vào tệp tồn tại trong một tệp khác, với sự trợ giúp của require[] gọi hàm nhập. Hàm yêu cầu đọc tệp javascript thực thi nó và sau đó trả về mô-đun . xuất khẩu .
Yêu cầu ngày. js vào ứng dụng. js
// ứng dụng. js
let date = require["./date"];
Bây giờ, chúng ta có thể truy cập tất cả các chức năng từ ngày. js thông qua biến ngày.
Ở đây, giá trị được gán cho biến ngày tháng tương tự như thế này,
let date = { getYear: function[] { return new Date[].getFullYear[]; }, getMonth: function[] { return new Date[].getMonth[]; } }
Gọi các hàm mô-đun ngày bên trong ứng dụng. js
// ứng dụng. js
let date = require["./date"]; console.log[date.getYear[]]; // output will be the current year. Example: 2020 console.log[date.getMonth[]]; // output will be the current month. Example: 4
Với các ví dụ trên, mô-đun. xuất đã nhập nó để gọi các hàm ngày từ ứng dụng. tập tin js. Và, chúng tôi sẽ nhận được các giá trị mong đợi thành công. Bây giờ, chúng ta có thể sử dụng xuất khẩu thay vì mô-đun. xuất khẩu để biết về chức năng của xuất khẩu.
Sửa đổi ngày. js như thế nào,
// ngày. js
exports.getYear = function getYear[] { return new Date[].getFullYear[]; } exports.getMonth = function getMonth[] { return new Date[].getMonth[]; }
Bây giờ, hãy chạy ứng dụng. tập tin js.
ứng dụng. js cũng sẽ cho kết quả tương tự. Vậy thì, sự khác biệt là gì?
Xuất so với mô-đun. xuất khẩu
Mô-đun là một đối tượng Javascript đơn giản với thuộc tính exports . mô-đun đề cập đến đối tượng đại diện cho mô-đun hiện tại. Điều này chứa siêu dữ liệu về mô-đun, chẳng hạn như tên tệp của mô-đun hiện tại và đối tượng export .
Ghi lại giá trị của mô-đun và mô-đun. xuất khẩu trong ngày. js và thực hiện ngày. js.
// ngày. js
exports.getYear = function getYear[] { return new Date[].getFullYear[]; } exports.getMonth = function getMonth[] { return new Date[].getMonth[]; } console.log['module object: \n', module] console.log['module.exports object: \n', module.exports]
Các bản ghi sản xuất như,
module object: Module { id: '.', exports: { getYear: [Function: getYear], getMonth: [Function: getMonth] }, parent: null, filename: '/home/reddy/Desktop/node-practice/date.js', ... } module.exports object: { getYear: [Function: getYear], getMonth: [Function: getMonth] }
Đối tượng mô-đun xuất khóa-giá trị giống như mô-đun. giá trị xuất khẩu
Xuất mô-đun theo nhiều cách
Như chúng ta đã biết, để xuất các hàm và biến ở định dạng đối tượng để sử dụng chúng ở đâu đó trong ứng dụng. Có một số cách để xuất mô-đun. Dưới đây là một số ví dụ,
Ví dụ. 1
Ví dụ. 2
const date = { getYear: function[] { return new Date[].getFullYear[]; }, getMonth: function[] { return new Date[].getMonth[]; } } module.exports = date;
Ví dụ. 3
module.exports = { getYear: function[] { return new Date[].getFullYear[]; }, getMonth: function[] { return new Date[].getMonth[]; } }0
Những điều hữu ích khác cần biết
Khi chức năng require[] được gọi cho cùng một mô-đun trong nhiều tệp, mô-đun chỉ được tải một lần. Lần tới, một hàm yêu cầu [] được gọi trên cùng một mô-đun, sau đó lấy từ bộ đệm.
Hàm require[] tải đồng bộ các mô-đun. Giả sử nó tải các module không đồng bộ, chúng ta không thể truy cập các đối tượng đúng cách. Vì vậy, hành vi đồng bộ là bắt buộc trong khi yêu cầu các mô-đun từ tệp này sang tệp khác.
Tôi hy vọng bạn thấy điều này hữu ích. Bạn có thể bắt đầu kiểm tra đoạn mã này để hiểu rõ hơn về khái niệm này.