NPM là gì? Tại sao NPM lại đi cùng với Node.js

NPM là gì? Tại sao NPM lại đi cùng với Node.js

Tin ngắn hàng ngày dành cho bạn
  • Hôm qua đến nay, lượt truy cập tới từ Facebook tăng đột biến. Thường như thế là do ai đó chia sẻ bài viết của blog vào một nhóm nào đó.

    Cơ mà lần này là liên kết trực tiếp đến trang chủ luôn. Tò mò ghê, không biết ai chia sẻ, chia sẻ ở đâu nữa. Muốn biết để tìm hiểu "insight" ghê 🥹

    » Xem thêm
  • Mình mới phát hiện ra thư viện idb-keyval giúp triển khai cơ sở dữ liệu dạng key-value một cách đơn giản. Như đã chia sẻ trong chuỗi bài viết về quá trình làm OpenNotas, mình loay hoay đi tìm một loại cơ sở dữ liệu để lưu trữ mà xem chừng vất vả quá, cuối cùng chốt localForage.

    idb-keyval cũng tương tự như localForage nhưng có vẻ như nó đang làm tốt hơn một chút. Đơn cử là có hàm update để cập nhật dữ liệu, hình dung đơn giản là:

    update('counter', (val) => (val || 0) + 1);

    Chứ không như hàm set là thay thế dữ liệu mất tiêu luôn.

    » Xem thêm
  • Đầu xuân năm mới, xin phép khoe số tiền kiếm được sau 1 tháng đặt quảng cáo tại indieboosting.com 🥳🥳🥳

    » Xem thêm

Vấn đề

NPM (Node Package Manager) là chương trình quản lý thư viện (package manager) ngầm định trong môi trường Node.js. Nó bao gồm một trình gọi dòng lệnh (Command Line) từ máy khách Client với tên gọi là npm, và cơ sở dữ liệu trực tuyến chứa các gói public và private còn được gọi là npm registry. Npm registry được gọi từ npm client và trên web browser.

Khi cài đặt Node.js, chúng ta sẽ được "khuyến mãi" thêm npm.

Kiểm tra phiên bản npm hiện tại.

npm -v
# 6.14.4

Mỗi ngày có hàng trăm, hàng nghìn dự án được tải lên đây, bao gồm thư viện hay framework mới. Điều đó đồng nghĩa với việc hầu hết những thứ bạn cần đều có trên này.

Sử dụng NPM

Ví dụ bạn cần một thư viện có thể chuyển tiếng việt có dấu về không dấu, thay vì bạn phải tự viết thì trên npm đã có sẵn một gói tên là vn-remove-accents cung cấp cho bạn tính năng đấy, chỉ việc kéo về dùng thôi.

# tạo thư mục
mkdir remove-accents

# di chuyển vào thư mục
cd remove-accents

# cài gói vn-remove-accents
npm i vn-remove-accents

Tạo một file index.js trong thư mục remove-accents, nội dung:

const removeAccents = require('vn-remove-accents');
const str = 'Blog chia sẻ lập trình kiến thức javascript';
console.log(removeAccents(str)) // Blog chia se lap trinh kien thuc javascript

Hầu hết các gói trên npm đều có hướng dẫn cài đặt và hướng dẫn sử dụng đi kèm nên bạn không cần phải quá lo lắng về cách sử dụng các gói như thế nào. Việc bạn cần là xác định đúng gói nào hỗ trợ giải quyết vấn đề hiện tại (Có thể search google mô tả nhu cầu kèm theo từ npm ở cuối sẽ ra rất nhiều gợi ý. Ví dụ: vietnam remove accents npm).

Quay trở lại thư mục gốc remove-accents đã tạo ở trên, lúc này sẽ thấy xuất hiện một tệp tin package.json được tạo ra bao gồm một số thông tin kể cả gói vn-remove-accents được kéo về và một thư mục node_modules.

Thì ở đây thư mục node_modules sẽ chứa các gói mà bạn đã chạy lệnh install như gói vn-remove-accents trên.
Còn file package.json đóng vai trò là tệp quản lý phụ thuộc. Tức là khi bạn chạy lệnh npm install thì nó sẽ cài tất cả các gói có trong file này.

npm là một công cụ tuyệt vời cho node.js, nhờ npm ta không phải lang thang trên mạng để tìm những gói từ nhiều nguồn khác nhau, cũng không cần quá lo lắng khi tải một project trên mạng về mà không biết nó dùng những gói phụ thuộc nào. Tất cả đã có file package.json.

Tuy nhiên không phải tất cả các gói trên npm là đáng tin cậy. Hãy thận trọng khi cài chúng.

Cao cấp
Hello

Bí mật ngăn xếp của Blog

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.

Bình luận (1)

Nội dung bình luận...
Avatar
Xuân Hoài Tống3 năm trước
npm là một công cụ tuyệt vời cho node.js, nhờ npm ta không phải lang thang trên mạng để tìm những gói từ nhiều nguồn khác nhau, cũng không cần quá lo lắng khi tải một project trên mạng về mà không biết nó dùng những gói phụ thuộc nào. Tất cả đã có file package.json
Trả lời
Avatar
Gió3 năm trước
quay tay à bạn ?
Avatar
Hoai Tong Xuan3 năm trước
Vẫn là tôi nhưng đến từ Github
Avatar
Xuân Hoài Tống3 năm trước
Bạn nói hay quá. Bạn gỡ bình luận đi
Bấm hoặc cuộn mạnh để sang bài mới