Hướng dẫn NPM của Node.js: Cách tạo, mở rộng, xuất bản mô-đun

Mô-đun Node.js

Một mô-đun trong Node.js là sự đóng gói mã logic trong một đơn vị. Luôn luôn là một phương pháp lập trình tốt để phân tách mã theo cách giúp mã dễ quản lý và bảo trì hơn cho các mục đích trong tương lai. Đó là lúc các mô-đun trong Node.js phát huy tác dụng.

Vì mỗi mô-đun là một thực thể độc lập với chức năng được đóng gói riêng nên nó có thể được quản lý như một đơn vị công việc riêng biệt.

Mô-đun trong Node.js là gì?

Như đã nêu trước đó, các mô-đun trong Node js là một cách đóng gói mã trong một đơn vị logic riêng biệt. Có rất nhiều mô-đun làm sẵn trên thị trường có thể được sử dụng trong Node js.

Dưới đây là một số mô-đun phổ biến được sử dụng trong ứng dụng Node js

  1. Khung thể hiện – Express là khung ứng dụng web Node js tối giản và linh hoạt, cung cấp một bộ tính năng mạnh mẽ cho web và di động các ứng dụng.
  2. socket.io – Socket.IO cho phép giao tiếp dựa trên sự kiện hai chiều theo thời gian thực. Mô-đun này phù hợp để tạo các ứng dụng dựa trên trò chuyện.
  3. ngọc bích – Jade là một công cụ tạo mẫu hiệu suất cao và được triển khai với JavaScript cho nút và trình duyệt.
  4. MongoDB - MongoDB Trình điều khiển Node.js là trình điều khiển node.js được hỗ trợ chính thức cho MongoDB.
  5. Điều chỉnh – Restify là một framework gọn nhẹ, tương tự như express để xây dựng REST API
  6. Bluebird – Bluebird là một thư viện hứa hẹn đầy đủ tính năng tập trung vào các tính năng cải tiến và hiệu suất

Sử dụng các mô-đun trong Node.js

Để sử dụng các module trong một Node.js ứng dụng, trước tiên chúng cần được cài đặt bằng trình quản lý gói Node.

Dòng lệnh bên dưới cho biết cách cài đặt mô-đun “express”.

npm cài đặt nhanh

Sử dụng Mô-đun trong Node.js

  • Lệnh trên sẽ tải xuống các tệp cần thiết có chứa “mô-đun tốc hành” và tiến hành cài đặt.
  • Sau khi mô-đun đã được cài đặt, để sử dụng mô-đun trong ứng dụng Node.js, bạn cần sử dụng từ khóa 'require'. Từ khóa này là cách mà Node.js sử dụng để kết hợp chức năng của mô-đun trong ứng dụng.

Hãy xem một ví dụ về cách chúng ta có thể sử dụng từ khóa “require”. Ví dụ về mã “Guru99” dưới đây cho thấy cách sử dụng hàm yêu cầu

Sử dụng Mô-đun trong Node.js

var express=require('express');
var app=express();
app.set('view engine','jade');
app.get('/',function(req,res)
{
});
var server=app.listen(3000,function()
{
});
  1. Trong câu lệnh đầu tiên, chúng tôi đang sử dụng từ khóa “require” để bao gồm mô-đun express. Mô-đun “express” được tối ưu hóa JavaScript thư viện để phát triển Node.js. Đây là một trong những mô-đun Node.js được sử dụng phổ biến nhất.
  2. Sau khi mô-đun được đưa vào, để sử dụng chức năng trong mô-đun, một đối tượng cần được tạo. Ở đây một đối tượng của mô-đun express được tạo.
  3. Sau khi mô-đun được đưa vào bằng lệnh “require” và “đối tượng” được tạo, các phương thức bắt buộc của mô-đun express có thể được gọi. Ở đây chúng tôi đang sử dụng lệnh set để thiết lập công cụ xem, được sử dụng để thiết lập công cụ tạo khuôn mẫu được sử dụng trong Node.js.
  4. Lưu ý: -(Để người đọc dễ hiểu; công cụ tạo khuôn mẫu là một cách tiếp cận để đưa các giá trị vào ứng dụng bằng cách lấy dữ liệu từ các tệp dữ liệu. Khái niệm này khá nổi tiếng trong Angular JS trong đó dấu ngoặc nhọn {{ key }} được sử dụng để thay thế các giá trị trong trang web. Từ 'khóa' trong dấu ngoặc nhọn về cơ bản biểu thị biến sẽ được thay thế bằng một giá trị khi trang được hiển thị.)

  5. Ở đây chúng ta đang sử dụng phương thức listen to để làm cho ứng dụng lắng nghe trên một số cổng cụ thể.

Cách tạo mô-đun NPM

Node.js có khả năng tạo các mô-đun tùy chỉnh và cho phép bạn đưa các mô-đun tùy chỉnh đó vào ứng dụng Node.js của mình.

Hãy xem một ví dụ đơn giản về cách chúng ta có thể tạo mô-đun của riêng mình và đưa mô-đun đó vào tệp ứng dụng chính của mình. Mô-đun của chúng tôi sẽ chỉ thực hiện một nhiệm vụ đơn giản là cộng hai số.

Hãy làm theo các bước dưới đây để xem cách chúng ta có thể tạo mô-đun và đưa chúng vào ứng dụng của mình.

Sau đây là Quy trình từng bước về Cách tạo mô-đun NPM

Bước 1) Tạo một tập tin và dán mã bên dưới
Tạo một tệp có tên “Addition.js” và bao gồm mã bên dưới. Tệp này sẽ chứa logic cho mô-đun của bạn.

Dưới đây là mã đi vào tệp này;

Tạo mô-đun NPM

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};
  1. Từ khóa “xuất” được sử dụng để đảm bảo rằng chức năng được xác định trong tệp này thực sự có thể được truy cập bởi các tệp khác.
  2. Sau đó chúng tôi định nghĩa một hàm có tên là 'AddNumber'. Hàm này được xác định để lấy 2 tham số a và b. Chức năng này được thêm vào mô-đun “xuất” để biến chức năng này thành một chức năng công khai mà các mô-đun ứng dụng khác có thể truy cập.
  3. Cuối cùng, chúng ta đã làm cho hàm của mình trả về giá trị gia tăng của các tham số.

Bây giờ chúng tôi đã tạo mô-đun tùy chỉnh có chức năng cộng 2 số. Bây giờ là lúc tạo một ứng dụng sẽ gọi mô-đun này.

Trong bước tiếp theo, chúng ta sẽ thực sự xem cách tạo ứng dụng gọi mô-đun tùy chỉnh của mình.

Bước 2) Tạo một tập tin ứng dụng
Tạo một tệp có tên “app.js”, đây là tệp ứng dụng chính của bạn và thêm mã bên dưới

Tạo mô-đun NPM

var Addition=require('./Addition.js');
console.log(Addition.AddNumber(1,2));
  1. Chúng tôi đang sử dụng từ khóa “require” để đưa chức năng vào tệp Addition.js.
  2. Vì các hàm trong tệp Addition.js hiện có thể truy cập được nên giờ đây chúng ta có thể thực hiện lệnh gọi hàm AddNumber. Trong hàm, chúng ta truyền 2 số làm tham số. Sau đó chúng tôi sẽ hiển thị giá trị trong bảng điều khiển.

Tạo mô-đun NPM

Đầu ra:

  • Khi chạy tệp app.js, bạn sẽ nhận được kết quả đầu ra là giá trị 3 trong nhật ký bảng điều khiển.
  • Kết quả là do hàm AddNumber trong tệp Addition.js đã được gọi thành công và giá trị trả về là 3 được hiển thị trong bảng điều khiển.

Lưu ý: – Chúng tôi hiện chưa sử dụng “Trình quản lý gói Node” để cài đặt mô-đun Addition.js. Điều này là do mô-đun này đã là một phần của dự án của chúng tôi trên máy cục bộ. Trình quản lý gói Node xuất hiện khi bạn xuất bản một mô-đun trên internet, chúng ta sẽ thấy điều này trong chủ đề tiếp theo.

Mở rộng các mô-đun trong Node.js

Khi tạo mô-đun, cũng có thể mở rộng hoặc kế thừa mô-đun này từ mô-đun khác.

Trong lập trình hiện đại, việc xây dựng một thư viện gồm các mô-đun phổ biến và sau đó mở rộng chức năng của các mô-đun chung này nếu cần là điều khá phổ biến.

Hãy xem một ví dụ về cách chúng ta có thể mở rộng các mô-đun trong Node.js.

Bước 1) Tạo mô-đun cơ sở.

Trong ví dụ của chúng tôi, hãy tạo một tệp có tên “Tutorial.js” và đặt mã bên dưới.

Trong mã này, chúng ta chỉ tạo một hàm trả về một chuỗi cho bảng điều khiển. Chuỗi trả về là “Hướng dẫn Guru99”.

Mở rộng các mô-đun trong Node.js

var exports=module.exports={};
exports.tutorial=function()
{
console.log("Guru99 Tutorial")
}
  1. Mô-đun xuất được sử dụng để bất kỳ chức năng nào được xác định trong tệp này đều có thể có sẵn trong các mô-đun khác trong Node.js
  2. Chúng tôi đang tạo một hàm gọi là hướng dẫn có thể được sử dụng trong các mô-đun Node.js khác.
  3. Chúng tôi đang hiển thị một chuỗi “Hướng dẫn Guru99” trong bảng điều khiển khi hàm này được gọi.

Bây giờ chúng ta đã tạo mô-đun cơ sở có tên là Tutorial.js. Bây giờ là lúc tạo một mô-đun khác sẽ mở rộng mô-đun cơ sở này.

Chúng ta sẽ khám phá cách thực hiện điều này trong bước tiếp theo.

Bước 2) Tiếp theo, chúng tôi sẽ tạo mô-đun mở rộng của mình. Tạo một tệp mới có tên “NodeTutorial.js” và đặt mã bên dưới vào tệp.

Mở rộng các mô-đun trong Node.js

var Tutor=require('./Tutorial.js');
exports.NodeTutorial=function()
{
console.log("Node Tutorial")
function pTutor()
{
var PTutor=Tutor
PTutor.tutorial();
}
}

Or
var Tutor=require('./Tutorial.js');
exports.NodeTutorial=function()
{
console.log("Node Tutorial")
this.pTutor = function ()
{
var PTutor=Tutor
PTutor.tutorial();
}
}

Lưu ý, các điểm chính sau đây về đoạn mã trên

  1. Chúng tôi đang sử dụng chức năng “yêu cầu” trong chính tệp mô-đun mới. Vì chúng ta sẽ mở rộng tệp mô-đun hiện có “Tutorial.js”, nên trước tiên chúng ta cần đưa nó vào trước khi mở rộng nó.
  2. Sau đó, chúng tôi tạo một hàm có tên là “Nodetutorial”. Chức năng này sẽ làm 2 việc,
  • Nó sẽ gửi một chuỗi “Hướng dẫn về nút” tới bảng điều khiển.
  • Nó sẽ gửi chuỗi “Hướng dẫn Guru99” từ mô-đun cơ sở “Tutorial.js” đến mô-đun mở rộng “NodeTutorial.js” của chúng tôi.
  1. Ở đây chúng tôi đang thực hiện bước đầu tiên để gửi một chuỗi tới “Hướng dẫn về nút” tới bảng điều khiển.
  2. Bước tiếp theo là gọi hàm từ mô-đun Hướng dẫn của chúng tôi, mô-đun này sẽ xuất chuỗi “Hướng dẫn Guru99” ra console.log.

Bước 3) Tạo tệp app.js chính của bạn, đây là tệp ứng dụng chính của bạn và bao gồm mã bên dưới.

Mở rộng các mô-đun trong Node.js

var localTutor=require('./NodeTutorial.js');
localTutor.NodeTutorial();
localTutor.NodeTutorial.pTutor();

Or use this code
var tut = new localTutor.NodeTutorial();  // Create and save object
tut.pTutor();  // Call function on object

Đoạn mã trên thực hiện những việc sau;

  1. Tệp ứng dụng chính của chúng tôi hiện gọi mô-đun “NodeTutorial”.
  2. Chúng tôi đang gọi hàm “NodeTutorial”. Bằng cách gọi chức năng này, dòng chữ “Hướng dẫn nút” sẽ được hiển thị trong nhật ký bảng điều khiển.
  3. Vì chúng tôi đã mở rộng mô-đun Tutorial.js và đưa ra một hàm có tên là pTutor. Nó cũng gọi mô-đun hướng dẫn trong mô-đun Tutorial.js và dòng chữ “Hướng dẫn Guru99” cũng sẽ được hiển thị trên bảng điều khiển.

Đầu ra:

Vì chúng ta đã thực thi mã app.js ở trên bằng Node, chúng ta sẽ nhận được kết quả sau trong tệp console.log

  • Hướng dẫn về nút
  • Hướng dẫn Guru99

Gói xuất bản NPM (Trình quản lý gói nút)

Người ta có thể xuất bản mô-đun của riêng mình lên trang riêng của họ Github kho.

Bằng cách xuất bản mô-đun của bạn đến một vị trí trung tâm, bạn sẽ không phải chịu gánh nặng khi phải tự cài đặt trên mọi máy yêu cầu mô-đun đó.

Thay vào đó, bạn có thể sử dụng lệnh cài đặt của npm và cài đặt mô-đun npm đã xuất bản của mình.

Các bước sau đây cần được thực hiện để xuất bản mô-đun npm của bạn

Bước 1) Tạo kho lưu trữ của bạn trên GitHub (một công cụ quản lý kho lưu trữ mã trực tuyến). Nó có thể được sử dụng để lưu trữ kho mã của bạn.

Bước 2) Bạn cần cho cài đặt npm cục bộ của bạn biết bạn là ai. Điều đó có nghĩa là chúng ta cần cho npm biết ai là tác giả của module này, ID email là gì và bất kỳ URL công ty nào có sẵn cần được liên kết với ID này. Tất cả các chi tiết này sẽ được thêm vào module npm của bạn khi nó được xuất bản.

Các lệnh bên dưới thiết lập tên, email và URL của tác giả mô-đun npm.

npm set init-author-name “Guru99.”

npm đặt init-author-email “guru99@gmail.com”

npm đặt init-author-url “http://Guru99.com”

Bước 3) Bước tiếp theo là đăng nhập vào npm bằng thông tin đăng nhập được cung cấp ở bước cuối cùng. Để đăng nhập, bạn cần sử dụng lệnh dưới đây

npm login

Bước 4) Khởi tạo gói của bạn – Bước tiếp theo là khởi tạo gói để tạo tệp pack.json. Điều này có thể được thực hiện bằng cách ban hành lệnh dưới đây

npm init

Khi bạn đưa ra lệnh trên, bạn sẽ được nhắc nhở một số câu hỏi. Điều quan trọng nhất là số phiên bản cho mô-đun của bạn.

Bước 5) Xuất bản lên GitHub – Bước tiếp theo là xuất bản các tệp nguồn của bạn lên GitHub. Điều này có thể được thực hiện bằng cách chạy các lệnh dưới đây.

git add.
git commit -m "Initial release"
git tag v0.0.1 
git push origin master --tags

Bước 6) Xuất bản mô-đun của bạn - Bước cuối cùng là xuất bản mô-đun của bạn vào sổ đăng ký npm. Điều này được thực hiện thông qua lệnh dưới đây.

npm publish

Quản lý gói của bên thứ ba với npm

Như chúng ta đã thấy, “Trình quản lý gói Node” có khả năng quản lý các mô-đun được yêu cầu bởi các ứng dụng Node.js.

Hãy xem xét một số chức năng có sẵn trong trình quản lý gói nút để quản lý các mô-đun

  1. Cài đặt gói ở chế độ chung – Các mô-đun có thể được cài đặt ở cấp độ toàn cầu, về cơ bản có nghĩa là các mô-đun này sẽ có sẵn cho tất cả các dự án Node.js trên máy cục bộ. Ví dụ bên dưới cho thấy cách cài đặt “mô-đun tốc hành” với tùy chọn chung.cài đặt npm express –global Tùy chọn chung trong câu lệnh trên là tùy chọn cho phép các mô-đun được cài đặt ở cấp độ toàn cầu.
  2. Liệt kê tất cả các gói chung được cài đặt trên máy cục bộ. Điều này có thể được thực hiện bằng cách thực hiện lệnh dưới đây trong dấu nhắc lệnhdanh sách npm –toàn cầuDưới đây là đầu ra sẽ được hiển thị nếu trước đó bạn đã cài đặt “mô-đun tốc hành” trên hệ thống của mình. Tại đây, bạn có thể thấy các mô-đun khác nhau được cài đặt trên máy cục bộ.

Quản lý gói của bên thứ ba bằng NPM

  1. Cài đặt một phiên bản cụ thể của gói – Đôi khi có thể có yêu cầu chỉ cài đặt phiên bản cụ thể của gói. Khi bạn biết tên gói và phiên bản liên quan cần được cài đặt, bạn có thể sử dụng lệnh npm install để cài đặt phiên bản cụ thể đó. Ví dụ bên dưới cho thấy cách cài đặt mô-đun có tên gạch dưới với phiên bản cụ thể là 1.7.0npm install gạch dưới@1.7.0
  2. Cập nhật phiên bản gói – Đôi khi bạn có thể có phiên bản cũ hơn của gói trong hệ thống và bạn có thể muốn cập nhật lên phiên bản mới nhất hiện có trên thị trường. Để làm điều này, người ta có thể sử dụng lệnh cập nhật npm. Ví dụ dưới đây cho thấy cách cập nhật gói gạch dưới lên phiên bản mới nhấtgạch dưới cập nhật npm
  3. Tìm kiếm một gói cụ thể – Để tìm kiếm xem một phiên bản cụ thể có sẵn trên hệ thống cục bộ hay không, bạn có thể sử dụng lệnh tìm kiếm của npm. Ví dụ bên dưới sẽ kiểm tra xem mô-đun express có được cài đặt trên máy cục bộ hay không.npm tìm kiếm nhanh
  4. Gỡ cài đặt gói – Tương tự như việc bạn có thể cài đặt một gói, bạn cũng có thể gỡ cài đặt một gói. Việc gỡ cài đặt gói được thực hiện bằng lệnh gỡ cài đặt của npm. Ví dụ dưới đây cho thấy cách gỡ cài đặt mô-đun expressnpm gỡ cài đặt nhanh

Tệp pack.json là gì

Tệp “pack.json” được sử dụng để chứa siêu dữ liệu về một dự án cụ thể. Thông tin này cung cấp cho người quản lý gói Node thông tin cần thiết để hiểu cách xử lý dự án cùng với các phần phụ thuộc của nó.

Các tệp pack.json chứa thông tin như mô tả dự án, phiên bản của dự án trong một bản phân phối cụ thể, thông tin giấy phép và dữ liệu cấu hình.

Tệp pack.json thường nằm ở thư mục gốc của dự án Node.js.

Hãy lấy một ví dụ về cấu trúc của một mô-đun trông như thế nào khi nó được cài đặt qua npm.

Ảnh chụp nhanh bên dưới hiển thị nội dung tệp của mô-đun express khi nó được đưa vào dự án Node.js của bạn. Từ ảnh chụp nhanh, bạn có thể thấy tệp pack.json trong thư mục express.

Tệp Package.json

Nếu mở file pack.json, bạn sẽ thấy rất nhiều thông tin trong file.

Dưới đây là ảnh chụp nhanh một phần của tập tin. Các express@~4.13.1 đề cập đến số phiên bản của mô-đun express đang được sử dụng.

Tệp Package.json

Tổng kết

  • Một mô-đun trong Node.js là sự đóng gói mã logic trong một đơn vị. Việc tách thành các mô-đun giúp mã dễ quản lý và bảo trì hơn cho các mục đích trong tương lai
  • Có rất nhiều mô-đun có sẵn trên thị trường có thể được sử dụng trong Node.js như express, gạch dưới, MongoDB, Vv
  • Trình quản lý gói nút (npm) được sử dụng để tải xuống và cài đặt các mô-đun mà sau đó có thể được sử dụng trong ứng dụng Node.js.
  • Người ta có thể tạo các mô-đun NPM tùy chỉnh, mở rộng các mô-đun này và cũng có thể xuất bản các mô-đun này.
  • Trình quản lý gói Node có bộ lệnh đầy đủ để quản lý các mô-đun npm trên hệ thống cục bộ như cài đặt, gỡ cài đặt, tìm kiếm, v.v.
  • Tệp pack.json được sử dụng để chứa toàn bộ thông tin siêu dữ liệu cho mô-đun npm.