Nhập xuất NodeJS

Hiểu cách sử dụng các mô-đun trong các dự án của bạn là một kỹ năng rất cần thiết để thúc đẩy sự nghiệp phát triển phần mềm của bạn.  

Các mô-đun hữu ích cho việc đóng gói, xuất và chia sẻ mã giữa các dự án phát triển phần mềm khác nhau.  

Với các mô-đun, bạn sẽ không cần viết mã mọi khía cạnh của dự án của mình. Các mô-đun giúp dễ dàng sử dụng lại mã từ các tác phẩm trước đó hoặc từ các gói của bên thứ ba, do đó giảm thời gian bạn dành để tự viết từng dòng mã.  

Trong hướng dẫn này, bạn sẽ tìm hiểu rất nhiều về các mô-đun, chúng là gì, cách sử dụng chúng và khi nào nên sử dụng chúng.  

Kiểm tra nút của chúng tôi. các khóa học ứng dụng bảng điều khiển js để tăng tốc sự nghiệp phát triển toàn bộ ngăn xếp của bạn.  

Nếu bạn đã sẵn sàng cho hướng dẫn này, hãy bắt đầu…

Nút là gì. mô-đun js?

Khái niệm về các mô-đun nói chung là giống nhau, ngay cả trong Node. js.  

Nút. js là các khối mã được đóng gói giao tiếp với một ứng dụng bên ngoài dựa trên chức năng mà chúng cung cấp. Các mô-đun có thể là một tệp hoặc một tập hợp các tệp/thư mục.  

Bạn sẽ thường thấy các nhà phát triển sử dụng các mô-đun trong các dự án của họ vì khả năng tái sử dụng và khả năng chia nhỏ các đoạn mã phức tạp thành các phần có thể quản lý được.  

Các mô-đun trong nút. js được phân thành ba loại nói chung

  • Mô-đun lõi
  • mô-đun cục bộ
  • Mô-đun của bên thứ ba

Mô-đun lõi. trong nút. js, các mô-đun tích hợp được gọi là mô-đun lõi; . js. Chức năng cần thiết có thể được sử dụng để tải các mô-đun này vào chương trình.  

Mô-đun cục bộ. Không giống như các mô-đun tích hợp và bên ngoài, các mô-đun cục bộ được tạo trong Nút của bạn. ứng dụng js. Bạn, với tư cách là một lập trình viên, chịu trách nhiệm tạo một mô-đun cục bộ.  

Mô-đun của bên thứ ba. Chúng có thể được tìm thấy trực tuyến thông qua Trình quản lý gói Node (NPM). Các mô-đun này có thể được cài đặt cục bộ hoặc toàn cầu. React, Vue, Axios và Angular là một số ví dụ phổ biến.  

Ví dụ.  

  • npm cài đặt axios
  • npm cài đặt web3
  • cài đặt npm -g @angular/cli

Định dạng của nút. mô-đun js

Bởi vì JavaScript ban đầu không hỗ trợ các mô-đun, một số định dạng thay thế đã xuất hiện theo thời gian. Sau đây là những điều quan trọng nhất cần lưu ý.  

Định nghĩa mô-đun không đồng bộ (AMD). Định dạng này được sử dụng trong các trình duyệt để xác định các mô-đun thông qua hàm xác định().  

CommonJS (CJS). nút này. định dạng js xác định các phụ thuộc và mô-đun bằng cách sử dụng yêu cầu và mô-đun. xuất khẩu. Hệ sinh thái npm được xây dựng trên định dạng này.  

ESM (Mô-đun ES). JavaScript hiện hỗ trợ định dạng mô-đun gốc bắt đầu với ES6 (ES2015). Nó sử dụng từ khóa xuất để xuất API công khai của mô-đun và từ khóa nhập để nhập nó.  

Hệ thống. Đăng ký. Định dạng này được tạo để chứa các mô-đun ES6 trong ES5.  

Định nghĩa mô-đun phổ quát (UMD). Định dạng này tương thích với cả trình duyệt và Node. js. Nó hữu ích khi một mô-đun cần được nhập bởi nhiều trình tải mô-đun.  

Làm cách nào để xuất đối tượng?

Sử dụng các bước sau để tạo mô-đun đầu tiên của bạn trong NodeJs.  

Bước 1. Tạo hai tệp có tên là chỉ mục. js và các mô-đun. js trong cùng một thư mục, sao chép và dán mã bên dưới vào các mô-đun của bạn. tập tin js

const account = { 
  name: 'Daniel Obrian', 
  type: 'Checkings', 
  number: 9683563563, 
  swift: 'ATBNGLGA', 
  country: 'US' 
} 

Bước 2. Các mô-đun nút js có thể được hiển thị bằng đoạn mã bên dưới.  

exports.getAccount = account 
Step 3: Import the created module file into your index.js using the guide below: 
const modular = require('./modules') 
console.log(modular.getAccount) 
The above piece of code will produce this result when it is executed… 
// Output 
{ 
  name: 'Daniel Obrian', 
  type: 'Checkings', 
  number: 9683563563, 
  swift: 'GTBNGLGA', 
  country: 'US' 
} 

Đó là cách bạn xuất các đối tượng trong NodeJs…

mô-đun. xuất khẩu

Để sử dụng mô-đun. xuất khẩu trong nút. Js, chúng tôi sẽ giải thích nó bằng ví dụ bên dưới.  

module.exports = { 
  getRoot: (num) => { 
    return num**2 
  }, 
  multiply: (num1, num2) => { 
    return num1 * num2 
  } 
} 

Tạo một tệp có tên mô-đun. js trong cùng thư mục với chỉ mục của bạn. js và sao chép và dán các mã ở trên vào tệp vừa tạo.  

mô-đun. cú pháp xuất chịu trách nhiệm đóng gói mã; .  

const {getRoot, multiply} = require('./modules') 
console.log(getRoot(5)) // Output: 25 
console.log(multiply(5, 2)) // Output 10 

Khi bạn thực thi các dòng mã trên, nó sẽ tạo ra 25 và 10.  

Yêu cầu chức năng

Bây giờ là lúc bạn hiểu tại sao chúng ta sử dụng hàm require() trong NodeJs. Cú pháp của một hàm require() giải thích cách sử dụng của nó một cách rõ ràng.  

var module = require('module_name'); 

Tùy thuộc vào những gì mô-đun trả về, hàm require() sẽ trả về một đối tượng JavaScript mà sau đó có thể được gán cho một biến. Ví dụ sau đây cho thấy cách lấy một số giống chó từ API bằng Axios.  

const axios = require('axios') 
const getBreeds = async () => { 
  try { 
    return await axios.get('https://dog.ceo/api/breeds/list/all') 
  } catch (error) { 
    console.error(error) 
  } 
} 

Trong đoạn mã trên, hàm require() trả về một đối tượng Axios chứa tất cả các phương thức giao tiếp qua HTTP. Gói Axios có một phương thức gọi là get(). Chúng tôi đã sử dụng phương thức get() này để truy xuất các giống chó từ điểm cuối URI.  

Đạt được thành thạo phát triển phần mềm bằng cách đăng ký khóa học nhà phát triển web đầy đủ của chúng tôi.  

Tạo và xuất các mô-đun

Hãy xem các cách khác nhau mà bạn có thể tạo, xuất và sử dụng một mô-đun bằng các ví dụ bên dưới.  

Hãy xem xét các lớp sau được định nghĩa trong mô-đun cục bộ của chúng tôi.  

// modules.js file 
class School { 
  constructor(_school, _address) { 
    this.school = _school 
    this.address = _address 
    this.students = [] 
  } 
addStudent(name) { 
    this.students.push(name) 
  } 
getStudents() { 
    return this.students 
  } 
} 
class NFT { 
  constructor(_name, _symbol) { 
    this.name = _name 
    this.symbol = _symbol 
    this.collection = [] 
  } 
mint(nft) { 
    nft.price = `${this.between(1, 5)} Eth` 
    nft.timestamp = new Date().toJSON() 
    this.collection.push(nft) 
  } 
 getNFTs() { 
    return this.collection 
  } 
between(min, max) {   
    return Math.floor( 
      Math.random() * (max - min) + min 
    ) 
  } 
} 

nút. js có thể được hiển thị bằng cách sử dụng các ví dụ bên dưới. Chúng ta có thể quyết định xuất các lớp này bằng các phương thức xuất sau đây và chúng sẽ được biểu diễn như thế này.  

// Using the exports syntax 
exports.School = School 
exports.NFT = NFT 
Or you could use the module.exports method which will represent the exports syntax with one line of code: 
// Using the module.exports syntax 
module.exports = {School, NFT} 

Sau khi xuất xong, bạn có thể sử dụng các lớp này trong bất kỳ tệp nào bằng cách chỉ cần nhập chúng như trong ví dụ này.  

// index.js file 
const {School, NFT} = require('./modules') 
const school = new School('Harvard University', 'Cambridge, MA, United States') 
school.addStudent('James Milner') 
school.addStudent('Adler Morina') 
school.addStudent('Emeka Igwe') 
school.addStudent('Priyanka Nadar') 
const nft = new NFT('Ape Coin', 'APC') 
const metadata1 = { 
  title: 'Chief Ape', 
  description: 'The lost prince of Apes who returned   from a genetic lab and ready to save its follow apes from the oppressions of mankind.' 
} 
const metadata2 = { 
  title: 'Queen Ape', 
  description: 'A queen mother Ape banished from the land by her brother because of the throne. Now she is back with a crew for pay back.' 
} 
nft.mint(metadata1) 
nft.mint(metadata2) 
console.log('School Class...') 
console.log(school.getStudents()) 
console.log('NFT Class...') 
console.log(nft.getNFTs()) 
Here is the output on screen… 

Đó là cách bạn tạo một mô-đun, xuất và sử dụng các dự án NodeJ của mình.  

Sự khác biệt giữa mô-đun. xuất khẩu và xuất khẩu

Không có nhiều sự khác biệt đáng kể giữa các phương pháp về chức năng của chúng. Dưới đây là một số khác biệt nhỏ mà bạn có thể phát hiện bằng cách sử dụng hai phương pháp mô-đun.  

cú pháp. Với xuất, bạn sẽ phải chỉ định các mục riêng lẻ sẽ được xuất từng dòng một, trong khi đó, mô-đun. cú pháp xuất khẩu cho phép bạn bao gồm tất cả các đối tượng có thể xuất khẩu của mình trong một đối tượng như có thể thấy bên dưới.  

// export syntax 
exports.item1 = item1 
exports.item2 = item2 
// module.exports syntax 
module.exports = {item1, item2} 

Chúng tôi sử dụng mô-đun để xuất một lớp/biến/hàm từ mô-đun này sang mô-đun khác. Chúng tôi sử dụng xuất khi muốn xuất nhiều biến/hàm từ mô-đun này sang mô-đun khác.  

Biết thêm về Callbacks trong Node là gì. JS.  

Phần kết luận

Tóm lại, phân đoạn mã cho khả năng sử dụng lại là một kỹ năng quan trọng cần thành thạo nếu bạn muốn trở thành một nhà phát triển phần mềm tuyệt vời. Mô đun hóa dự án của bạn là một cách chắc chắn để cải thiện mã của bạn và cũng cắt giảm thời gian bạn dành để viết chúng. Nhưng bạn vẫn cần phải cẩn thận về cách bạn sử dụng các mô-đun trong mã của mình. Việc sử dụng mô-đun không đúng cách có thể gây ra một số phức tạp cho mã của bạn.  

Ví dụ: các mô-đun bên ngoài không được tối ưu hóa có thể làm tăng kích thước gói ứng dụng của bạn, gây ra sự cố khác trong khi cung cấp giải pháp cho bạn. Chúng tôi thực sự khuyên bạn nên biến việc tích hợp mô-đun thành thói quen khi bạn thăng tiến trong sự nghiệp phát triển phần mềm của mình. Bạn có thể đăng ký cho mình cho Node. js tại KnowledgeHut để làm quen sâu với cả hai ngăn xếp.  

Chúng tôi hy vọng sẽ gặp lại bạn trong hướng dẫn tiếp theo.  

Câu hỏi thường gặp (FAQ)

1. là mô-đun. xuất khẩu tốt hơn xuất khẩu?

Không, nó dựa trên sự tiện lợi. sử dụng mô-đun. xuất để xuất nhiều mặt hàng và sử dụng xuất để xuất các mặt hàng đơn lẻ một cách dễ dàng.  

2. Là xuất khẩu và mô-đun. xuất khẩu tương tự?

Có, chúng giống nhau về hiệu suất và kết quả nhưng khác nhau về cú pháp. Các mặt hàng của họ cũng có thể được nhập khẩu tương tự.  

3. Các mô-đun trong Node là gì. js?

Các mô-đun trong NodeJ là một phương pháp tổ chức các khối mã, chức năng, đối tượng và lớp để chia sẻ mã, khả năng sử dụng lại và khả năng bảo trì.  

4. Vai trò của xuất khẩu trong Node là gì. js?

Xuất khẩu là một từ khóa dành riêng trong NodeJ để chỉ định các mục sẽ được nhập vào các tệp khác.  

5. Tôi có thể sử dụng xuất khẩu như thế nào?

Bạn sử dụng xuất bằng cách chỉ định mục sẽ được xuất. Do đó, các mô-đun nút js có thể được hiển thị bằng cú pháp bên dưới.  

Chúng tôi có thể sử dụng xuất nhập khẩu trong NodeJS không?

Bạn cũng có thể sử dụng gói npm có tên là esm cho phép bạn sử dụng các mô-đun ES6 trong Node. js. Nó không cần cấu hình. Với esm, bạn sẽ có thể sử dụng tính năng xuất/nhập trong các tệp JavaScript của mình .

Làm cách nào để sử dụng nhập và xuất trong NodeJS?

Việc nhập có thể được thực hiện theo nhiều cách khác nhau. .
Nhập toàn bộ mô-đun. nhập * làm tên từ 'tên mô-đun'
Nhập xuất mặc định từ một mô-đun. nhập tên từ 'tên mô-đun'
Nhập một lần xuất từ ​​một mô-đun. nhập {tên} từ 'tên mô-đun'

Chúng tôi có thể sử dụng tính năng nhập trong NodeJS không?

NodeJS cho phép chúng tôi nhập các mô-đun CommonJS từ Mô-đun ES . Nếu chúng tôi muốn nhập ví dụ xuất lớp CommonJS của chúng tôi ở trên, quá trình nhập Mô-đun ES của chúng tôi sẽ giống như thế này. // mục lục. mjs nhập Logger từ ". /tiều phu.

Làm cách nào để nhập một mô-đun trong NodeJS?

Ví dụ. .
Để nhập mô-đun Node JS của riêng chúng tôi. var số học = yêu cầu("số học");
Để nhập mô-đun Node JS hiện có Nhập mô-đun Node JS “express”;