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
  • Void - cái tên mình đã nhắc đến từ cách đây khá lâu. Từ đợt mà continue.dev mới nổi lên á. Nó tương tự như Cursor và Windsurf, mới hôm nay họ đã phát hành phiên bản Beta và cho phép mọi người tải xuống.

    Điểm mạnh thì đây là nguồn mở, miễn phí, dùng các mô hình miễn phí cục bộ trên máy qua Ollama hoặc LM Studio... Không thích thì cắm API của bên khác vào cũng được. Mình vừa dùng thử thì thấy khả năng gợi ý và khung chat khá tương đồng với Cursor, có cả tính năng Agent luôn nhé 👏. Hoạt động ổn định hơn continue.dev (lần cuối dùng), việc còn lại là chọn mô hình xịn xịn tí 🤤

    » Xem thêm
  • Zed mới đây đã giới thiệu thêm tính năng Agent - tương tự như Agent trong Cursor hay Write trong Windsurf và họ gọi nó là The Fastest AI Code Editor.

    Cũng nhanh thật đấy vì Zed viết bằng Rust. Cơ mà chiến lược của họ có vẻ thay đổi, tập trung vào AI thay vì phát triển kho tiện ích mở rộng vốn đang có rất ít, không thể cạnh tranh được với VSCode 🥶

    Zed: The Fastest AI Code Editor

    » Xem thêm
  • Ngay sau thông tin OpenAI đạt được thoả thuận mua lại Windsurf với giá 3 tỉ đô thì ngày hôm nay Cursor đã miễn phí 1 năm dùng bản Pro cho sinh viên. Chaaaaà 🤔

    OpenAI Reaches Agreement to Buy Startup Windsurf for $3 Billion

    Cursor for Students | Cursor - The AI Code Editor

    » 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ố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
Gió3 năm trước
quay tay à bạn ?
Avatar
Hoai Tong Xuan4 năm trước
Vẫn là tôi nhưng đến từ Github
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