Get in touch
or send us a question?
CONTACT

Bài 3. NPM là gì?

NPM là một công cụ hữu ích cho việc quản lý thư viện. NPM là một thuật ngữ mà những lập trình viên, những người đã và đang tìm hiểu về công nghệ thông tin không thể không biết. Do đó, bài viết dưới đây sẽ giải đáp cho bạn NPM là gì?

NPM là gì?

NPM (Node package manager) là một công cụ tạo, quản lý các thư viện lập trình JavaScript cho Node.js. Có rất nhiều các lập trình viên trong JavaScript sử dụng thường xuyên, điều này giúp chia sẻ các công cụ và cài đặt nhiều mô-đun khác nhau cho việc quản lý dependency. Node package manager còn giúp cho các dự án mới không phải viết lại các thành phần cơ bản hoặc các thư viện lập trình hay thậm chí cả các framework.

NPM là gì?

Công dụng của NPM là gì?

Sau đây là một số công dụng của NPM:

  • Node package manager sẽ giúp cho công việc quản lý của bạn trở nên đơn giản hơn rất nhiều. Ngày nay, đa số các thư viện đều đã có sẵn trên NPM. Cho nên, bạn chỉ cần chạy một dòng lệnh để tải về và việc include chúng lại sẽ trở nên dễ dàng hơn.
  • Khi sử dụng công cụ NPM người quản lý thư viện không bị mất nhiều thời gian và công sức để thực hiện được mọi việc. Bởi vì mỗi đoạn code được sử dụng sẽ phụ thuộc nhiều mã nguồn mở khác nhau.

Cách thức hoạt động của NPM là gì?

NPM hoạt động dựa trên 2 vai trò chủ yếu sau đây:

  • Thứ nhất, NPM là repository và đang được dùng với mục đích publish project Node.js nguồn mở. Có nghĩa là NPM là nền tảng trực tuyến cho phép mọi người dùng có thể thực hiện thao tác publish hoặc là chia sẻ một số công cụ khác được viết bằng JavaScript.
  • Thứ hai, NPM là công cụ thuộc dạng dòng lệnh. NPM có thể hỗ trợ cho việc tương tác với những nền tảng trực tuyến (máy chủ, trình duyệt). Ngoài ra, NPM còn 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, thậm chí là quản lý do máy chủ. NPM có thể quản lý dependency cần thiết cho việc chạy dự án.
Cách thức hoạt động của NPM là gì

Nếu như bạn đã từng thực hiện code PHP thì sẽ hiểu rằng Composer là một trong những công cụ quản lý thư viện tương tự như NPM và là một trong những công cụ dùng để quản lý thư viện JavaScript.

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

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

Hướng dẫn cài dặt NPM

npm được cài đặt với Node.js. Điều này có nghĩa là bạn phải cài đặt Node.js để cài đặt npm trên máy tính của mình. Tải xuống Node.js từ trang web chính thức của Node.js: https://nodejs.org

Cài Node.js chính là đã cài đặt NPM

Khi bạn tải Node.js về máy thì đã có sẵn NPM rồi. Tuy nhiên, để kiểm tra xem hệ thống của bạn NPM đã được cài đặt chưa thì bạn sẽ dùng lệnh npm -v. Trong trường hơp có một phiên bản hiện ra thì có nghĩa là hệ thống của bạn đã được cài đặt NPM.

Bạn có thể sử dụng NPM để cài đặt các thư viện JavaScript từ internet. Bởi lẽ NPM là một phần mềm cài đặt trên máy tính. Nếu bạn muốn cài đặt một thư viện nào đó, bạn chỉ cần mở cửa sổ Terminal (hoặc CMD) và thực hiện lệnh dưới đây:

npm install package-name

Ví dụ: Bạn muốn tải Vuejs về để sử dụng thì bạn dùng lệnh:

npm install vue

Các package thư viện đưa vào project của bạn sẽ liên tục được update mới. Bạn chỉ cần thực hiện lệnh npm update để thực hiện cập nhật tất cả các gói liên quan. Trong trường hợp bạn chỉ muốn cập nhật một gói nào đó cụ thể, thì bạn có thể sử dụng cú pháp: npm update package_name

Nếu bạn muốn thực hiện cập nhật chó các gói được cài đặt global; bạn chỉ cần dùng các câu lệnh trên và flag -g để thực hiện.

Cài đặt global và cài đặt local như thế nào?

Cài đặt Node package manager với local

Các gói được cài đặt local được đặt trong thư mục nơi bạn chạy npm install <package-name> và chúng được đặt trong node_modules thư viện bên dưới thư mục này.

Cài đặt global và cài đặt local

Cài đặt Node package với global

Trong trường hợp này tất cả các package được cài đặt là global đều được đặt ở một nơi duy nhất trong hệ thống của bạn (chính xác là ở đâu tùy thuộc vào thiết lập của bạn). Bất kể bạn chạy ở đâu npm install -g <package-name>.

Trong mã của bạn, cả hai đều được yêu cầu theo cùng một cách:

require('package-name')

Vậy khi nào bạn nên cài đặt theo cách này hay cách khác?

Nói chung, tất cả các gói phải được cài đặt cục bộ.

Điều này đảm bảo rằng bạn có thể có hàng chục ứng dụng trong máy tính của mình, tất cả đều chạy một phiên bản khác nhau của mỗi gói nếu cần.

Việc cập nhật gói toàn cầu sẽ khiến tất cả các dự án của bạn sử dụng bản phát hành mới và như bạn có thể tưởng tưởng, điều này có thể gây ra ác mộng về mặt bảo trì, vì một số gói có thể phá vỡ khả năng tương thích với các phần phụ thuộc khác, v.v.

Tất cả các dự án đều có phiên bản gói cục bộ của riêng chúng, ngay cả khi điều này có vẻ như là một sự lãng phí tài nguyên, nó vẫn ở mức tối thiểu so với hậu quả tiêu cực có thể xảy ra.

Một gói nên được cài đặt trên toàn cầu khi nó có cung cấp một lệnh thực thi mà bạn chạy từ trình bao (CLI) và nó được sử dụng trong các dự án.

Bạn cũng có thể cài đặt các lệnh thực thi cục bộ và chạy chúng bằng cách sử dụng npx, nhưng một số gói được cài đặt tốt hơn trên toàn cầu.

Những ví dự tuyệt vời về các gói toàn cầu phổ biến mà bạn biết

  • npm
  • create-react-app
  • vue-cli
  • grunt-cli
  • mocha
  • react-native-cli
  • gatsby-cli
  • forever
  • nodemo