Node.js đã và đang làm mưa làm gió trong “giới lập trình” kể từ năm 2009. Đã có rất nhiều hệ thống đã được xây dựng bằng Node.js. Một trong những yếu tố dẫn đến sự thành công của Node.js là NPM – một trình quản lý nổi tiếng đối với Developer. Vậy NPM là gì? Các bạn hãy cùng Tino Group tìm hiểu cụ thể qua bài viết dưới đây nhé!
Tổng quan về NPM
NPM là gì?
NPM (Node Package Manager) được biến đến là thư viện phần mềm lớn nhất thế giới. Đồng thời, đây cũng là một trình quản lý và cài đặt gói (package) phần mềm cho các dự án Javascript tương tự như Composer của các dự án PHP.
Thông qua NPM, các lập trình viên có thể tạo các gói code thực hiện một chức năng phù hợp và xuất bản chúng ra thị trường. Điều này rất hữu ích khi chia sẻ code, plugin với các nhà phát triển khác. Nhìn chung, NPM đang đưa cộng đồng nguồn mở lên một tầm cao mới.
Ngoài ra, NPM còn có thể giúp cho các dự án mới tránh việc phải viết lại các thành phần cơ bản. Ví dụ: Trường hợp không sử dụng NPM, bạn sẽ cần tải toàn bộ các thư viện một cách thủ công tay. Sau đó, bạn cần thực hiện include vào chính dự án của mình. Điều này làm mất nhiều thời gian hơn để hoàn thành. Còn khi áp dụng NPM, bạn chỉ cần 1 dòng lệnh hoàn tất công việc lưu thư viện.
Lợi ích cụ thể khi sử dụng NPM
- Bạn có thể dễ dàng truy cập vào trang https://nodejs.org/ để tìm kiếm được các package do các nhà lập trình khác phát hành thông qua NPM.
- NPM có khả năng đơn giản hoá các công việc của bạn, giúp mọi thứ được thực hiện nhanh chóng hơn rất nhiều. Bởi hầu hết các thư viện hiện tại đều có sẵn trên NPM nên bạn chỉ cần chạy một dòng lệnh để tải về và include một cách dễ dàng.
- Mỗi đoạn code thường phụ thuộc nhiều vào các loại mã nguồn khác nhau. Các package manager như NPM ra đời đã giúp cho quá trình quản lý thư viện trở nên dễ dàng và tiết kiệm được nhiều công sức thực hiện hơn.
- Cộng đồng sử dụng NPM ngày càng mở rộng và mạnh mẽ nên đã phát hành ra hàng nghìn thư viện với khả năng hỗ trợ cho: React, Javascript ES6, Duo, Grunt, Express, …
NPM hoạt động như thế nào?
Cách thức hoạt động của NPM
NPM sẽ được phát huy công dụng dựa trên hai vai trò chính:
NPM là một repository được sử dụng tương tự như một nền tảng trực tuyến cho các công cụ được viết bằng Javascript có thể được chia sẻ và publish bởi lập trình viên.
NPM cho phép người dùng có thể tương tác với các nền tảng trực tuyến như máy chủ hay trình duyệt. Tiện ích này sẽ hỗ trợ việc cài đặt hoặc gỡ bỏ cài đặt gói, quản lý dependency cần thiết để chạy dự án.
Điều kiện để sử dụng NPM
Bạn cần cài đặt Node.js mới có thể sử dụng được NPM. Tiện ích dòng lệnh của NPM cho phép Node.js hoạt động chuẩn xác hơn rất nhiều.
Dự án của bạn buộc phải chứa file tên là Package.json mới có thể sử dụng được các gói trên NPM. Bạn có thể tìm thấy được bên trong những gói này các metadata cụ thể dành cho dự án của mình.
Metadata của dự án trong NPM
Các metadata là một số dữ liệu cụ thể có liên quan đến dự án theo thứ tự xác định như sau:
- Tên gọi của dự án và phiên bản phát hành đầu tiên
- Phần mô tả và điểm vào
- Kiểm tra tất cả các lệnh
- Git respiratory
- Từ khoá
- Giấy phép
- Các điểm phụ thuộc
- Dev Dependencies
Cách sử dụng NPM
Cài đặt NPM với Node.js
Đầu tiên, bạn hãy tải xuống Node.js từ trang web: https://nodejs.org. Sau khi tải Node.js, NPM cũng sẽ được cài đặt sẵn trên máy.
Để đảm bảo, bạn có thể kiểm tra xem trên hệ thống đã cài NPM chưa bằng cách sử dụng lệnh NPM-v trong Terminal (hoặc Command Prompt).
Đăng nhập NPM
Để đăng nhập NPM, bạn dùng lệnh:
C:\>npm login
Username: <your username>
Password: <your password>
Tải các package Javascript
Bạn có thể sử dụng NPM để tải các thư viện Javascript từ Internet. Nếu muốn cài đặt một thư viện nào đó, bạn chỉ cần mở cửa sổ Terminal (hoặc Command Prompt) và thực hiện lệnh sau:
npm install package-name
Ví dụ: nếu bạn muốn tải Vuejs sẽ dùng lệnh:
npm install vue
Hoặc khi muốn sử dụng Vue.jsm bạn sử dụng lệnh require():
var Vue = require(‘vue’);
Lưu ý: các package được đưa vào dự án của bạn sẽ liên tục được cập nhật mới. Bạn chỉ cần thực hiện lệnh để cập nhật tất cả các package liên quan. Cú pháp:
npm update package_name
Quản lý cài đặt package thông qua Package.json
Tất cả các package NPM được định nghĩa trong các tệp được gọi là package.json.
Để quản lý cài đặt package, bạn cần nắm một số các thuộc tính phổ biến trong package.json:
- name: tên của package.
- version: các phiên bản package.
- description: đề cập đến phần mô tả của package.
- homepage: trang chủ của package.
- author: tác giả.
- contributors: tên gọi của người đóng góp cho package.
- dependencies: danh sách các package phụ thuộc và có thể tự động cài theo.
- repository: các loại repository và URL của package.
- main: đây là index.js.
- keywords: các từ khóa.
Ví dụ:
{
"name" : "foo",
"version" : "1.2.3",
"description" : "A package for fooing things",
"main" : "foo.js",
"keywords" : ["foo", "fool", "foolish"],
"author" : "John Doe",
"licence" : "ISC"
}
Xuất bản package
Để điều hướng đến dự án và xuất bản dự án của bạn, hãy nhập lệnh:
C:\Users\myuser>cd myproject
C:\Users\myuser\myproject>npm publish
Trên đây là một số thông tin về phần mềm NPM. Hy vọng bạn sẽ nhận thấy lợi ích của phần mềm này và sử dụng thật hiệu quả trong công việc của mình. Chúc bạn thành công!
Những câu hỏi thường gặp
Làm sao để biết đăng nhập NPM hay chưa?
Để kiểm tra xem đã đăng nhập NPM chưa, bạn sử dụng câu lệnh:
C:\>npm whoami
Package.json chứa những gì?
Package.json chính là các tệp nằm trong thư mục gốc của dự án. Tệp này có chứa các nội dung sau đây:
- Chứa các gói thư viện lập trình mà dự án đã sử dụng qua.
- Cho phép xác định các phiên bản chính xác nhất của một số gói thư viện lập trình đã sử dụng.
- Dễ dàng chia sẻ các Package cho ập trình viên trên toàn cầu thông qua NPM.
- Các tệp package.json mẫu đều được tạo ra từ các lệnh npm init –yes.
Có các trình quản lý thư viện nào tương tự NPM?
Một số package manager khác tương tự NPM gồm: Maven (Java), Composer (PHP), Nuget (.NET), Packagist,….