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
  • Một thư viện mang lại rất nhiều hiệu ứng chuyển động cho trang web của bạn: animejs.com

    Vào xem, cuộn cuộn tí mà lác con mắt 😵‍💫

    » Xem thêm
  • Một kho lưu trữ tổng hợp lại danh sách system prompt bị "lộ" trên Internet. Rất hữu ích cho bạn nào nghiên cứu về cách viết system prompt. Phải nói rằng họ tỉ mỉ thật 😅

    jujumilk3/leaked-system-prompts

    » Xem thêm
  • Kết thúc kỳ nghỉ, để thấy nó dữ dội đến đâu thì tổng số bước đã đi trong 4 ngày là 45k các bạn ạ 😆

    » 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

Tôi & khao khát "chơi chữ"

Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên ngay!

Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên 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ống4 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
Xuân Hoài Tống4 năm trước

Bạn nói hay quá. Bạn gỡ bình luận đi

Avatar
Hoai Tong Xuan4 năm trước

Vẫn là tôi nhưng đến từ Github

Avatar
Gió4 năm trước

quay tay à bạn ?