NTM Solutions

Bài đăng nổi bật

🚀 Laravel 12 (2026) — Từ PHP Core đến Full Stack📘

Nếu cập nhật theo Laravel 12 LTS (2026) thì mình sẽ chia thành các phần như sau để người học đi từ PHP Core → Laravel → Triển khai dự án th...

Thứ Ba, 21 tháng 7, 2026

🚀 Node.js LTS (2026) — Bài 05: npm - Trái tim của hệ sinh thái Node.js 📦

"Node.js mạnh không chỉ vì Runtime, mà còn vì hệ sinh thái hàng triệu package được chia sẻ thông qua npm."


🎯 Mục tiêu bài học

Sau bài này bạn sẽ:

  • Hiểu npm là gì.

  • Biết vai trò của package.json.

  • Phân biệt dependenciesdevDependencies.

  • Hiểu package-lock.json dùng để làm gì.

  • Biết sử dụng scripts để tự động hóa công việc.

  • Có thể quản lý package trong dự án Node.js một cách chuyên nghiệp.


npm là gì?

npm (Node Package Manager) là trình quản lý package đi kèm khi cài đặt Node.js.

Nó giúp bạn:

  • Cài thư viện

  • Gỡ thư viện

  • Cập nhật thư viện

  • Chạy script

  • Quản lý phiên bản package

  • Chia sẻ package với cộng đồng

Có thể hiểu đơn giản:

npm giống như "App Store" dành cho lập trình viên Node.js.

Hiện nay npm là một trong những kho mã nguồn mở lớn nhất thế giới với hàng triệu package.


Kiểm tra npm

Sau khi cài Node.js:

npm -v

Ví dụ:

11.5.0

Kiểm tra Node:

node -v

Ví dụ:

v24.8.0

package.json là gì?

Đây là "chứng minh nhân dân" của dự án Node.js.

Ví dụ:

{
  "name": "hello-node",
  "version": "1.0.0",
  "description": "Project đầu tiên",
  "type": "module",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  }
}

Trong đó:

Thuộc tínhÝ nghĩa
nameTên project
versionPhiên bản
descriptionMô tả
typemodule hoặc commonjs
mainFile chạy chính
scriptsCác lệnh tắt
dependenciesThư viện cần khi chạy
devDependenciesThư viện phục vụ phát triển

Tạo package.json

Khởi tạo nhanh:

npm init

npm sẽ hỏi từng thông tin:

package name:
version:
description:
entry point:

Sau khi hoàn thành sẽ sinh:

package.json

Tạo nhanh không cần hỏi

npm init -y

Đây là cách được dùng nhiều nhất.


package-lock.json là gì?

Sau khi cài package:

npm install express

Bạn sẽ thấy:

package-lock.json

Nhiều người mới học thường xóa file này vì tưởng không quan trọng.

Thực tế:

package-lock.json cực kỳ quan trọng.

Nó ghi lại:

  • phiên bản chính xác của package

  • toàn bộ package phụ thuộc (dependency tree)

  • giúp mọi máy cài đặt giống hệt nhau

  • tăng tốc quá trình cài đặt

Ví dụ:

"express": {
    "version": "5.1.0"
}

Nhờ vậy, đồng đội và máy chủ triển khai sẽ sử dụng đúng phiên bản đã kiểm thử.


Cài package

Ví dụ:

npm install express

Hoặc:

npm i express

Kết quả:

node_modules/
package.json
package-lock.json

Trong package.json:

"dependencies": {
    "express": "^5.1.0"
}

dependencies

Đây là các package bắt buộc khi chương trình chạy.

Ví dụ:

npm install express
//👉 Framework xây dựng Web Server và REST API.
npm install prisma
//👉 ORM giúp làm việc với cơ sở dữ liệu SQL (MySQL, PostgreSQL, SQLite...).
npm install mongoose
//👉 ODM giúp làm việc với cơ sở dữ liệu MongoDB.

Đây đều là:

dependencies

devDependencies

Một số package chỉ phục vụ lập trình.

Ví dụ:

npm install --save-dev nodemon

hoặc:

npm i -D nodemon

Trong package.json:

"devDependencies": {
    "nodemon": "^3.2.0"
}

Các package phổ biến:

  • nodemon

  • eslint

  • prettier

  • jest

  • typescript

Chúng hỗ trợ quá trình phát triển nhưng không cần thiết khi ứng dụng chạy trên môi trường Production.


dependencies và devDependencies khác nhau thế nào?

dependenciesdevDependencies
Cần khi chạy ứng dụngChỉ dùng khi phát triển
Deploy lên ServerKhông bắt buộc deploy
expressnodemon
prisma clienteslint
mongooseprettier
bcryptjest

node_modules

Sau khi cài package:

npm install

npm tạo:

node_modules/

Đây là nơi chứa:

  • express

  • prisma

  • mongoose

  • axios

  • lodash

và hàng trăm package phụ thuộc khác.

Ví dụ:

node_modules
│
├── express
├── body-parser
├── debug
├── mime
└── ...

⚠️ Không chỉnh sửa trực tiếp thư mục này vì npm sẽ quản lý toàn bộ nội dung.


scripts

Scripts giúp rút ngắn các lệnh thường dùng.

Ví dụ:

"scripts": {
    "start": "node app.js"
}

Chạy:

npm start

thay vì:

node app.js

Ví dụ:

"scripts": {
    "dev": "node app.js"
}

Chạy:

npm run dev

Ví dụ dùng nodemon:

"scripts": {
    "dev": "nodemon app.js"
}

Sau đó:

npm run dev

Mỗi khi lưu file:

Restarting...

Node.js sẽ tự chạy lại mà không cần dừng và khởi động thủ công.


Cài nhiều package

npm install express dotenv cors

Hoặc:

npm i express dotenv cors

Gỡ package

npm uninstall express

Hoặc:

npm remove express

Cập nhật package

npm update

Cài lại toàn bộ package

Nếu đã có:

package.json

Chỉ cần:

npm install

npm sẽ tự tải tất cả package được khai báo trong dự án.


.gitignore

Khi dùng Git, không nên đưa thư mục node_modules lên kho mã nguồn.

Ví dụ:

node_modules/

Lý do:

  • Dung lượng rất lớn.

  • Có thể cài lại từ package.jsonpackage-lock.json.

  • Giúp repository gọn nhẹ và dễ chia sẻ.


Ví dụ dự án hoàn chỉnh

hello-node/
│
├── node_modules/
├── app.js
├── package.json
├── package-lock.json
└── .gitignore

Những lệnh npm thường dùng

LệnhÝ nghĩa
npm init -yKhởi tạo dự án
npm install expressCài package
npm i -D nodemonCài package phát triển
npm uninstall expressGỡ package
npm updateCập nhật package
npm installCài toàn bộ package
npm startChạy script start
npm run devChạy script dev

Những lỗi người mới thường gặp

Quên chạy npm install

Error: Cannot find module 'express'

→ Hãy chạy:

npm install

Xóa package-lock.json tùy tiện

Điều này có thể khiến các máy cài đặt phiên bản package khác nhau, dẫn đến lỗi khó kiểm soát.


Chỉnh sửa node_modules

Mọi thay đổi sẽ bị ghi đè khi cài đặt lại package.


Cài nhầm package

Ví dụ:

npm install nodemon

Nếu nodemon chỉ dùng khi phát triển, nên cài bằng:

npm i -D nodemon

để giữ danh sách phụ thuộc gọn gàng và đúng mục đích.


Tổng kết

Trong bài học này, chúng ta đã làm quen với npm, công cụ quản lý package không thể thiếu của Node.js. Bạn đã biết cách tạo và cấu hình package.json, hiểu vai trò của package-lock.json, phân biệt dependenciesdevDependencies, cũng như sử dụng scripts để đơn giản hóa các thao tác hằng ngày.

Đây là nền tảng quan trọng trước khi bước vào Node.js Core, nơi chúng ta sẽ bắt đầu làm việc trực tiếp với các module tích hợp sẵn của Node.js.


Bài tiếp theo

👉 Bài 06 — File System (fs)

Bạn sẽ học cách:

  • Đọc và ghi file.

  • Tạo, đổi tên và xóa file.

  • Làm việc với thư mục.

  • Sử dụng cả API đồng bộ (Sync) và bất đồng bộ (Async) của module fs.

  • Xây dựng các tiện ích quản lý tệp tin bằng Node.js mà không cần cài thêm thư viện.

x1

quay về MỤC LỤC

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS