Tạo dự án Nuxt đầu tiên

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 16 tháng 4, 2025

Sau khi đã cài đặt môi trường và khởi tạo project Nuxt, trong bài học này bạn sẽ được hướng dẫn tạo trang đầu tiên trong ứng dụng, chạy thử trên trình duyệt, chỉnh sửa nội dung để kiểm tra khả năng cập nhật nhanh (HMR), và làm quen với file cấu hình chính của Nuxt – nuxt.config.ts. Đây là bước khởi động nhẹ nhàng nhưng rất thiết thực để làm chủ cách Nuxt vận hành.

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

  • Tạo và hiển thị trang đầu tiên trong Nuxt thông qua thư mục pages
  • Thực hành chạy project và truy cập qua trình duyệt
  • Hiểu và quan sát tính năng Hot Module Replacement (HMR)
  • Làm quen với file cấu hình nuxt.config.ts và vai trò của nó

Tạo dự án

1. Tạo trang đầu tiên với Nuxt

Trong Nuxt, mỗi file .vue trong thư mục pages/ tự động trở thành một route tương ứng.

Thực hành: Mở thư mục dự án vừa khởi tạo, tạo file sau:

pages/index.vue:

<template>
  <div>
    <h1>Chào mừng đến với Nuxt 3!</h1>
    <p>Đây là trang đầu tiên của bạn.</p>
  </div>
</template>

Lưu ý: nếu pages/index.vue đã có sẵn khi khởi tạo bằng nuxi, bạn có thể sửa nội dung trong đó.

2. Chạy thử và kiểm tra kết quả

Trong terminal:

npm run dev

Mở trình duyệt và truy cập:

http://localhost:3000

Bạn sẽ thấy nội dung bạn viết trong pages/index.vue được hiển thị trực tiếp. Đây là cách Nuxt tự động mapping URL → file .vue.

3. Thử chỉnh sửa file và quan sát HMR (Hot Module Replacement)

Bây giờ thử đổi nội dung file:

<template>
  <div>
    <h1>Đây là nội dung mới được cập nhật</h1>
    <p>Nuxt reload tự động mà không cần refresh!</p>
  </div>
</template>
  • Lưu lại file và quay lại trình duyệt
  • Bạn sẽ thấy nội dung được cập nhật ngay lập tức mà không cần reload thủ công

Đây là HMR – tính năng giúp bạn lập trình nhanh và tiện hơn rất nhiều.


4. Giới thiệu tệp cấu hình nuxt.config.ts

File nuxt.config.ts là trung tâm cấu hình của Nuxt project. Nó cho phép bạn:

  • Thêm/tắt modules (Tailwind, Image, i18n…)
  • Cấu hình global CSS, meta, plugin
  • Chỉnh SSR/SSG/SPA mode
  • Định nghĩa runtime config, middleware, alias…

Ví dụ nội dung cơ bản:

// nuxt.config.ts
export default defineNuxtConfig({
  css: ["~/assets/css/main.css"],
  modules: ["@nuxtjs/tailwindcss"],
  app: {
    head: {
      title: "Khóa học Nuxt",
      meta: [
        { name: "description", content: "Dự án Nuxt đầu tiên" },
      ]
    }
  }
})

Bạn chưa cần hiểu hết ngay. Chỉ cần biết: mọi config chung của dự án đều tập trung ở đây.

Kết luận

Qua bài học này, bạn đã tạo được trang đầu tiên trong Nuxt một cách đơn giản, chạy thử được trên trình duyệt, trải nghiệm khả năng cập nhật nóng (HMR) tiện lợi, và biết đến tệp nuxt.config.ts – trái tim cấu hình của toàn bộ project. Đây là nền tảng để bạn tiếp tục xây dựng hệ thống trang, layout, API, và các tính năng phức tạp hơn trong những bài tiếp theo.

Website Logo

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.

Bình luận

Website Logo

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.

Liên hệ công việc qua email dưới đây.

lhvuctu@gmail.com

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ