Đang Tải...

Trang chủ
Tot Blog

Kiến thức & tin công nghệ

NPM là gì? Tất cả những thông tin cần biết về Node Package Manager

19/10/2023

icon

Với những dev được làm việc nhiều với javascript, chắc hẳn các bạn cũng đã từng dùng lệnh npm install, npm update, npm install bootstrap … Bài viết “NPM là gì? Tất cả những thông tin cần biết về NPM” sẽ giúp bạn có cái nhìn tổng quan về các công cụ quản lý thư viện lập trình NPM.

Mục lục

Mục lục

1. NPM là gì?

NPM là gì?

NPM – hay là “Node Package Manager” – là một công cụ tạo và quản lý các thư viện lập trình Javascript cho Node.js. Trong cộng đồng Javascript, các lập trình viên chia sẻ hàng trăm nghìn các thư viện với các đoạn code đã thực hiện sẵn một chức năng nào đó. Nó giúp cho các dự án mới tránh phải viết lại các thành phần cơ bản, các thư viện lập trình hay thậm chí cả các framework.

Công cụ bao gồm hai phần chính:

  • CLI (giao diện dòng lệnh) để xuất bản và tải xuống các gói.
  • Kho lưu trữ trực tuyến lưu trữ các gói JavaScript.

2. Cách hoạt động của NPM

NPM hoạt động dựa trên 2 vai trò sau:

  • NPM là repository được sử dụng với mục đích publish project Node.js nguồn mở. NPM chính là nền tảng trực tuyến cho phép người dùng có thể thực hiện thao tác publish hoặc chia sẻ một số công cụ khác được viết bằng JavaScript.
  • Đây là công cụ thuộc dạng dòng lệnh hỗ trợ người dùng tương tác với nền tảng trực tuyến như máy chủ hoặc trình duyệt. NPM cũng là tiện ích hỗ trợ cho việc cài đặt hoặc gỡ bỏ cài đặt gói, thực hiện quản lý các phiên bản, quản lý do máy chủ thực hiện quản lý phiên bản, quản lý depency cần thiết để chạy dự án.

Lưu ý về cách thức hoạt động của NPM:

  • Bắt buộc phải cài Node.js thì mới có thể sử dụng NPM bởi chúng được đóng gói chung.
  • Nếu có tiện ích dòng lệnh của NPM thì Node.js có thể hoạt động hiệu quả hơn nhiều lần.
  • Dự án của bạn bắt cuộc phải chứa tệp tên là package.json để có thể sử dụng được các gói. Bạn có thể tìm thấy được bên trong những gói này những metadata cụ thể nhất dành cho project.

Metadata sẽ giúp người dùng xác định được project: Tên gọi của dự án, phiên bản phát hành đầu tiên, phần mô tả, mục đ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 và Dev Dependencies.

3. Công dụng của NPM

NPM đơn giản hóa quản lý dự án đáng kể. Đây là công cụ giúp bạn quản lý dễ dàng hơn rất nhiều. Mọi thư viện đều sẵn có trên NPM. Chỉ cần một dòng lệnh để tải về và dễ dàng bao gồm chúng vào dự án của bạn.

Mỗi đoạn mã này có thể phụ thuộc vào nhiều nguồn mở khác nhau. Chúng may mắn khi có các công cụ quản lý thư viện, vì nếu không, việc quản lý những thư viện này sẽ đòi hỏi rất nhiều công sức.

Cộng đồng sử dụng NPM rộng lớn, với hàng nghìn thư viện được phát hành. Nó hỗ trợ JavaScript ES6, React, Express, Grunt, Duo và nhiều công nghệ khác. Gần đây, đã xuất hiện công cụ Yarn, một phiên bản tương tự NPM, được phát triển bởi Facebook với nhiều tính năng xuất sắc, có thể thay thế NPM trong tương lai.

Nếu bạn đã lập trình bằng Php, bạn sẽ biết Composer là công cụ quản lý thư viện cho ngôn ngữ đó, tương tự như NPM là công cụ quản lý thư viện cho JavaScript.

4. Phân loại các dạng Package mà NPM có thể cài đặt

Phân loại các dạng Package mà NPM có thể cài đặt

Package được chia ra làm 2 loại, đó là: Simple dependencies và Development dependencies. 

  • Simple dependencies là những package bắt buộc phải có trong quá trình chạy sản phẩm, kiểu như một thư viện cung cấp các hàm mà code của bạn cần. Khi cài đặt Simple dependencies, Npm sẽ tự động cài đặt tất cả các dependencies cần thiết. Đó cũng chính là lí do vì sao khi bạn cài đặt 1 package và vào folder node_modules sẽ thấy cả đống các package khác mà bạn không hề cài đặt
  • Development dependencies là những package bắt buộc khi phát triển cũng như phát hành sản phẩm. Kiểu như các trình biên dịch giúp biên dịch đoạn code của bạn về javascript, rồi các framework phục vụ cho việc kiểm thử,… Khi cài đặt Development Dependencies, sẽ chỉ cài đặt các dependencies mà cần thiết.

5. Cài đặt PNM

Như đã đề cập ở trên, khi bạn cài đặt Node.js thì NPM cũng sẽ được kèm theo. Bạn có thể xem cách cài đặt Node.js ở bài viết này.

Bạn có thể xem cách cài đặt Node.js tại đây.

Đây là một phần mềm cài đặt trên máy tính nên bạn có thể sử dụng nó để cài đặt các thư viện Javascript từ trên Internet. Bạn chỉ cần mở cửa sổ Terminal (hoặc CMD) và thực thi các lệnh.

Bạn có thể tìm hiểu thêm về dòng lệnh được sử dụng với NPM.

6. Những câu lệnh của NPM

Dưới đây là một số câu lệnh cơ bản khi làm việc với NPM hoặc Node.js:

Nội dungCâu lệnh
Kiểm tra phiên bản cài đặtnpm -v
Cập nhật NPM mới nhấtnpm install -g npm@latest
npm update npm -g
Khởi tạo dự án Nodejsnpm init
Tìm kiếm các thư việnnpm search [search terms]
Gỡ bỏ mọi thư viện đã cài đặtnpm uninstall
Cài đặt gói thư viện bất kì có trên https://www.npmjs.com 
Package sẽ được thêm vào dependencies trong file package.jsonnpm install package-name@version -save
Package sẽ được thêm vào devDependencies trong file package.jsonnpm install package-name@version --save-dev
Package sẽ được thêm vào optionalDependencies trong file package.jsonnpm install package-name@version --save-optional
Cài đặt package từ Github mà không có trên https://www.npmjs.comnpm install @username/package-name
npm i user/repo
npm i user/ report#master
npm i github:user/repo
Cài đặt package từ GitLab mà không có trênhttps://www.npmjs.comnpm install gitlab:username/package-name
Cài đặt từ Gitnpm install git://github.com/substack/node-browserify.git
Cài đặt package theo kiểu localnpm install -g package-name@version
npm install -g @angular/cli
Cài đặt tất cả các packages được liệt kê trong file package.jsonnpm install
Cập nhật production packagesnpm update
Cập nhật dev packagesnpm update -dev
Cập nhật global packagesnpm update -g
Cập nhật riêng lẻ từng package theo tênnpm update package-name
Liệt kê tất cả packagesnpm ls
npm list
Kiểm tra outdated packagesnpm outdated
Chạy các câu lệnh cài đặt trong package.jsonnpm run script-cmd-name
Câu lệnh sẵn mà NPM tự hiểunpm start
npm test
Liệt kê tất cả cấu hình cho NPMnpm config ls -l

Lời kết

Tổng kết lại, NPM là một công cụ giúp chúng ta dễ dành quản lý các thư viện Javascript một cách đơn giản hơn, tiện dụng, dễ dàng hơn, từ đó tiết kiệm tốt đa thời gian cho các dev. Hi vọng Tothost mong các bạn có thể hiểu rõ hơn về nó, giải đáp cho câu hỏi là gì và hoạt động như thế nào và cách sử dụng công cụ này hiệu quả nhất, có thể tối ưu hóa hiệu suất làm việc của mình. Chúc các bạn thành công!

TelegramCommunity
scroll top
Thông báo
Đóng