Hướng dẫn Node.js NPM: Tạo, Xuất bản, Mở rộng & Quản lý

Một mô-đun trong Node.js là một gói mã logic trong một đơn vị duy nhất. Luôn luôn là một phương pháp lập trình tốt để luôn tách biệt mã theo cách làm cho nó dễ quản lý và dễ bảo trì hơn cho các mục đích trong tương lai. Đó là nơi các mô-đun trong Node.js hoạt độ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.

Trong hướng dẫn này, bạn sẽ học-

  • Mô-đun trong Node.js là gì
  • Sử dụng các mô-đun trong Node.js
  • Tạo mô-đun NPM
  • Mở rộng mô-đun
  • Xuất bản Mô-đun NPM
  • Quản lý các gói của bên thứ ba với npm
  • Tệp package.json là gì

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

Như đã nói 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. Express framework - Express là một framework ứng dụng web Node js tối thiểu và linh hoạt, cung cấp một bộ tính năng mạnh mẽ cho web và các ứng dụng di độ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 rất tốt để tạo các ứng dụng dựa trên trò chuyện.
  3. Jade - Jade là một công cụ mẫu hiệu suất cao và được triển khai bằng JavaScript cho nút và trình duyệt.
  4. MongoDB - Trình điều khiển MongoDB Node.js là trình điều khiển node.js được hỗ trợ chính thức cho MongoDB.
  5. Restify - restify là một khung công tác nhẹ, tương tự như express để xây dựng các API REST
  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 và hiệu suất sáng tạo

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

Để sử dụng các mô-đun trong ứng dụng Node.js, 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 dưới đây cho thấy cách cài đặt mô-đun "express".

npm cài đặt nhanh

  • Lệnh trên sẽ tải xuống các tệp cần thiết có chứa "mô-đun nhanh" và xử lý quá trì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 'request'. Từ khóa này là một cách mà Node.js sử dụng để kết hợp chức năng của một mô-đun trong một ứng dụng.

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

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 chính câu lệnh đầu tiên, chúng tôi đang sử dụng từ khóa "request" để bao gồm mô-đun express. Mô-đun "express" là một thư viện JavaScript được tối ưu hóa để 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 bao gồm, để sử dụng chức năng bên trong mô-đun, một đối tượng cần được tạo. Tại đây, một đối tượng của mô-đun express được tạo.
  3. Khi mô-đun được bao gồm bằng cách sử dụng lệnh "request" và một "đối tượng" được tạo, các phương thức cần thiết của mô-đun express có thể được gọi. Ở đây chúng ta đang sử dụng lệnh set để thiết lập công cụ xem, được sử dụng để đặt công cụ tạo khuôn mẫu được sử dụng trong Node.js.

    Lưu ý: - (Chỉ để người đọc hiểu; công cụ tạo khuôn mẫu là một cách tiếp cận để đưa 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ừ 'key' 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ị.)

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

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 chúng tôi. 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 các mô-đun và đưa chúng vào ứng dụng của mình.

Bước 1) 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ã sẽ đi vào tệp này;

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 đang định nghĩa một hàm có tên là 'AddNumber'. Hàm này được định nghĩa để nhận 2 tham số là a và b. Chức năng được thêm vào mô-đun "xuất" để làm cho chức năng như một chức năng công cộng có thể được truy cập bởi các mô-đun ứng dụng khác.
  3. Cuối cùng, chúng tôi đang làm cho hàm của chúng tôi 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ủa mình có chức năng thêm 2 số. Bây giờ là lúc tạo một ứng dụng, ứng dụng này 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 sẽ gọi mô-đun tùy chỉnh của chúng ta.

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

var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
  1. Chúng tôi đang sử dụng từ khóa "request" để bao gồm chức năng trong 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 bây giờ chúng ta có thể gọi hàm AddNumber. Trong hàm, chúng ta đang chuyển 2 số dưới dạng tham số. Sau đó, chúng tôi đang hiển thị giá trị trong bảng điều khiển.

Đầu ra :

  • Khi bạn chạy tệp app.js, bạn sẽ nhận được kết quả đầu ra có 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 vẫn chưa sử dụng "trình quản lý gói Node" để cài đặt mô-đun Addition.js của chúng tôi. Điều này là do mô-đun đã 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 trong hình khi bạn xuất bản một mô-đun trên internet, chúng ta sẽ thấy trong chủ đề tiếp theo.

Mở rộng mô-đun

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

Trong lập trình ngày nay, việc xây dựng một thư viện các mô-đun chung và sau đó mở rộng chức năng của các mô-đun chung này nếu được yêu cầu 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 đoạn mã này, chúng ta chỉ đang 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".

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ể khả dụng trong các mô-đun khác trong Node.js
  2. Chúng tôi đang tạo một chức năng 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ờ đã đến 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 việc 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 chúng tôi. Tạo một tệp mới có tên "NodeTutorial.js" và đặt mã bên dưới vào tệp.

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

Lưu ý, những điểm chính sau đây về mã trên

  1. Chúng tôi đang sử dụng chức năng "request" trong chính tệp mô-đun mới. Vì chúng tôi sẽ mở rộng tệp mô-đun hiện có "Tutorial.js", trước tiên chúng tôi cần đưa tệp vào trước khi mở rộng.
  2. Sau đó, chúng tôi tạo một chức năng gọi là "Nodetutorial." Chức năng này sẽ thực hiện 2 việc,
  • Nó sẽ gửi một chuỗi "Hướng dẫn nút" đến 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 "Hướng dẫn 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 "Guru99 Tutorial" tới console.log.

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

var localTutor=require('./NodeTutorial.js');localTutor.NodeTutorial();localTutor.NodeTutorial.pTutor();Or use this codevar tut = new localTutor.NodeTutorial(); // Create and save objecttut.pTutor(); // Call function on object

Đoạn mã trên thực hiện những điều sau đây;

  1. Tệp ứng dụng chính của chúng tôi hiện gọi là 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, văn bản "Hướng dẫn nút" sẽ được hiển thị trong nhật ký giao diện điều khiển.
  3. Vì chúng tôi đã mở rộng mô-đun Tutorial.js của mình và hiển thị một chức năng được gọi là pTutor. Nó cũng gọi mô-đun hướng dẫn trong mô-đun Tutorial.js và văn bản "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 tôi đã thực thi mã app.js ở trên bằng Node, chúng tôi sẽ nhận được kết quả sau trong tệp console.log

  • Hướng dẫn Node
  • Hướng dẫn Guru99

Xuất bản mô-đun NPM (Node Package Manager)

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

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

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 bạn.

Các bước sau 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 biết 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 tôi cần cho npm biết ai là tác giả của mô-đun 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ả những chi tiết này sẽ được thêm vào mô-đun npm của bạn khi nó được xuất bản.

Các lệnh dưới đây đặt tên, email và URL của tác giả của mô-đun npm.

npm đặt init.author.name "Guru99."

npm set init.author.email " Địa chỉ email này đang được bảo vệ khỏi spam bots, bạn cần bật Javascript để xem nó."

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 package.json. Điều này có thể được thực hiện bằng cách đưa ra lệnh dưới đây

npm init

Khi bạn đưa ra lệnh trên, bạn sẽ được nhắc về 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.1git 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ý các 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ế độ toàn cục - 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ột máy cục bộ. Ví dụ dưới đây cho thấy cách cài đặt "mô-đun express" với tùy chọn chung.

    npm cài đặt express -global

    Tùy chọn toàn cục 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ệnh

    danh sách npm --global

    Dưới đây là kết quả sẽ được hiển thị, nếu trước đó bạn đã cài đặt "mô-đun nhanh" 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ộ.

  1. Cài đặ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ụ dưới đây cho thấy cách cài đặt mô-đun được gọi là gạch dưới với phiên bản cụ thể là 1.7.0

    npm cài đặt [email protected]

  2. Cập nhật phiên bản gói - Đôi khi bạn có thể có phiên bản gói cũ hơn trong hệ thống và bạn có thể muốn cập nhật 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ất

    dấu gạch dưới cập nhật npm

  3. Tìm kiếm một gói cụ thể - Để tìm kiếm 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ụ dưới đây sẽ kiểm tra xem mô-đun express đã được cài đặt trên máy cục bộ hay chưa.

    npm tìm kiếm nhanh

  4. Gỡ cài đặt một gói - Việc bạn có thể cài đặt một gói cũng như vậy, bạn cũng có thể gỡ cài đặt một gói. Việc gỡ cài đặt mộ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 express

    npm gỡ cài đặt nhanh

Tệp package.json là gì

Tệp "package.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 package.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 package.json thường nằm trong 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 thông 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 package.json trong thư mục express.

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

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

Tóm lược

  • Một mô-đun trong Node.js là một gói mã logic trong một đơn vị duy nhất. Việc phân tách thành các mô-đun làm cho mã dễ quản lý hơn và có thể bảo trì 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, underscore, MongoDB, v.v.
  • 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 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ó một bộ lệnh hoàn chỉnh để quản lý các mô-đun npm trên hệ thống cục bộ như cài đặt, hủy cài đặt, tìm kiếm, v.v.
  • Tệp package.json được sử dụng để chứa toàn bộ thông tin siêu dữ liệu cho mô-đun npm.

thú vị bài viết...