Quay lại

Khi bắt đầu một dự án Vue.js mới bằng Vue CLI, việc hiểu cấu trúc và các thành phần của dự án là cực kỳ quan trọng để có thể phát triển ứng dụng một cách hiệu quả. Trong hướng dẫn này, chúng ta sẽ khám phá cách kiểm tra dự án được tạo bằng Vue 3 CLI, một công cụ mạnh mẽ giúp tạo và quản lý các dự án Vue.js một cách dễ dàng.

Chúng ta sẽ đi sâu vào cấu trúc thư mục của dự án, tìm hiểu về các thành phần chính như các thành phần Vue, pages, và tệp package.json. Bằng cách này, bạn sẽ có cái nhìn tổng quan và chi tiết về cách tổ chức dự án Vue của mình và làm thế nào để tùy chỉnh và phát triển nó.

Hãy bắt đầu bằng việc khám phá sâu hơn về cấu trúc và các thành phần chính của dự án Vue 3 CLI!

1. Cài đặt Vue CLI

Ở bài trước mình đã hướng dẫn cũng như cách cài đặt Vue, bạn cần cài đặt Vue CLI nếu chưa có. Bạn có thể cài đặt nó bằng npm (Node Package Manager), một công cụ cài đặt gói JavaScript. Nếu bạn nào chưa biết thì có thể quay lại bài trước để xem lại nhé !

npm install -g @vue/cli​

Sau khi cài đặt xong, bạn có thể tạo một dự án Vue mới.

2. Tạo một Dự Án Vue

Sử dụng Vue CLI, bạn có thể tạo một dự án Vue mới bằng cách chạy lệnh sau:

vue create my-vue-project​

Thay my-vue-project bằng tên dự án mà bạn muốn.

3. Khám phá Dự Án Vue

Sau khi tạo dự án thành công, hãy di chuyển vào thư mục dự án bằng lệnh:

cd my-vue-project
Cấu trúc Thư Mục

Một dự án Vue sử dụng Vue CLI thường có cấu trúc thư mục sau:

public

  1. Trang HTML Gốc: Tệp index.html trong thư mục public thường được coi là trang HTML gốc của ứng dụng Vue.js. Đây là nơi mà ứng dụng Vue.js được gắn kết và hiển thị lên trình duyệt. Bạn có thể chỉnh sửa tệp này để thêm tiêu đề, mô tả, các thẻ meta, hoặc các tệp CSS và JS bên ngoài.

  2. Tệp Tĩnh Khác: Bạn cũng có thể đặt các tệp tĩnh khác trong thư mục public như hình ảnh, icon, hoặc các tệp khác cần thiết cho ứng dụng của bạn. Những tệp này có thể được truy cập trực tiếp từ trình duyệt và được sử dụng trong ứng dụng Vue.js.

Một Số Ví Dụ:

  • favicon.ico: Biểu tượng trang web (favicon) thường được đặt trong thư mục public. Điều này giúp trình duyệt tìm thấy biểu tượng để hiển thị trên thanh địa chỉ hoặc thẻ trang.

  • robots.txt: Nếu bạn muốn kiểm soát cách các công cụ tìm kiếm index trang web của bạn, bạn có thể đặt tệp robots.txt trong thư mục public.

  • Hình Ảnh và Tệp Tài Nguyên: Mọi hình ảnh, biểu tượng, hoặc tệp tĩnh khác mà bạn muốn sử dụng trong ứng dụng Vue.js có thể được đặt trong thư mục public. Điều này giúp quản lý tệp tài nguyên một cách tiện lợi và dễ dàng truy cập chúng từ ứng dụng.

Thư Mục src

  1. Thành Phần Vue: Thư mục components trong src chứa các thành phần Vue.js nhỏ, tái sử dụng, như nút, thanh điều hướng, hoặc tiêu đề. Các thành phần này có thể được sử dụng trong nhiều nơi khác nhau trong ứng dụng của bạn.

  2. Trang: Thư mục views trong src thường chứa các thành phần lớn hơn, thường tương ứng với các trang của ứng dụng như Trang chủ, Trang Chi tiết, hoặc Trang Đăng nhập. Mỗi trang có thể chứa nhiều thành phần Vue và có thể được điều hướng tới từ các URL khác nhau.

  3. Tệp Chính: Tệp App.vue là thành phần gốc của ứng dụng Vue.js. Nó chứa template và logic chính của ứng dụng. Trong App.vue, bạn có thể gắn kết các thành phần khác và quản lý trạng thái toàn cục của ứng dụng.

  4. File main.js: Tệp này là nơi khởi đầu của ứng dụng. Nó import Vue và các thành phần cần thiết khác, sau đó khởi tạo ứng dụng Vue và gắn kết nó với phần tử có id là app trong tệp index.html.

  5. Tệp Tài Nguyên: Thư mục assets trong src chứa các tệp tài nguyên như hình ảnh, biểu tượng, hoặc CSS tùy chỉnh. Những tệp này có thể được import và sử dụng trong các thành phần Vue.

Tệp .eslintrc

  1. Tệp .eslintrc trong dự án Vue.js là một tệp cấu hình cho ESLint, một công cụ phổ biến được sử dụng để kiểm tra và báo cáo các lỗi cú pháp và phong cách trong mã nguồn JavaScript.
  2. Cụ thể, .eslintrc trong dự án Vue.js định nghĩa các quy tắc cho mã JavaScript và Vue.js, bao gồm các quy tắc phong cách và cú pháp như định dạng, cách đặt tên biến, sử dụng dấu phẩy, v.v.
  3. Ví dụ, một .eslintrc có thể bao gồm các cấu hình sau:
    1. {
        "extends": [
          "eslint:recommended",
          "plugin:vue/vue3-recommended"
        ],
        "rules": {
          // Các quy tắc cụ thể của dự án
        }
      }​

package.json

Cấu Trúc và Nhiệm Vụ:

  • package.json là một tệp JSON chứa thông tin về dự án và các phụ thuộc của nó.
  • Trong package.json, bạn có thể tìm thấy các mục như tên dự án, phiên bản, tác giả, các phụ thuộc (dependencies), các script để chạy các tác vụ như khởi động dự án, biên dịch mã, v.v.

Sử Dụng:

  • package.json được sử dụng để quản lý cấu hình dự án và các phụ thuộc của nó.
  • Bạn có thể thêm, xóa hoặc cập nhật các phụ thuộc trong package.json bằng tay hoặc thông qua các lệnh quản lý gói như npm hoặc Yarn.

Ví Dụ:

{
  "name": "my-vue-project",
  "version": "1.0.0",
  "description": "A Vue.js project",
  "main": "index.js",
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build"
  },
  "dependencies": {
    "vue": "^3.0.0"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^5.0.0",
    "@vue/cli-service": "^5.0.0",
    "eslint": "^7.0.0"
  },
  "author": "Your Name",
  "license": "MIT"
}

package-lock.json

Cấu Trúc và Nhiệm Vụ:

  • package-lock.json là một tệp JSON chứa thông tin chi tiết về phiên bản cụ thể của các phụ thuộc đã được cài đặt.
  • Tệp này đảm bảo rằng mỗi lần bạn cài đặt phụ thuộc, các phiên bản cụ thể sẽ được sử dụng và sẽ không có sự khác biệt giữa các máy chủ hoặc môi trường khác nhau.

Sử Dụng:

  • package-lock.json được sử dụng bởi npm để đảm bảo rằng môi trường phát triển của bạn sẽ có các phiên bản phụ thuộc giống nhau.
  • Nếu bạn chia sẻ mã nguồn của mình hoặc làm việc với các thành viên trong nhóm, package-lock.json giúp đảm bảo môi trường phát triển của tất cả mọi người là nhất quán.

Vi Dụ:

{
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    // Chi tiết về các phiên bản cụ thể của các phụ thuộc
  },
  "dependencies": {
    // Danh sách các phụ thuộc và phiên bản cụ thể của chúng
  }
}

babel.config.js:

Tệp babel.config.js trong một dự án Vue.js được sử dụng để cấu hình Babel, một công cụ dùng để biên dịch mã JavaScript từ các phiên bản mới nhất (ES6, ES7, ES8, vv.) xuống phiên bản cũ hơn tương thích với nhiều trình duyệt và môi trường hơn.

Chức năng của babel.config.js:

  1. Cấu Hình Babel: Babel có thể được cấu hình để sử dụng các plugin và preset để biên dịch mã JavaScript của bạn theo cách mong muốn. Trong tệp babel.config.js, bạn có thể chỉ định các plugin và preset mà bạn muốn sử dụng.

  2. Quản Lý Tính Năng JavaScript Mới: Babel cho phép bạn sử dụng các tính năng JavaScript mới mà không cần phải lo lắng về việc chúng có được hỗ trợ trên tất cả các trình duyệt hay không. Bằng cách cấu hình Babel đúng cách trong babel.config.js, bạn có thể sử dụng các tính năng mới như cú pháp async/await, arrow functions, destructuring, và nhiều hơn nữa.

  3. Tích Hợp Với Các Framework và Thư Viện: Nếu bạn đang sử dụng các framework hoặc thư viện khác như Vue.js, React, hoặc Angular, Babel cũng có thể được cấu hình để tương thích và tích hợp với chúng.

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ]
}

Trong ví dụ này, @vue/cli-plugin-babel/preset là một preset được cung cấp sẵn bởi Vue CLI. Nó đảm bảo rằng Babel được cấu hình để biên dịch mã JavaScript của bạn sao cho phù hợp với Vue.js và các plugin và tính năng mặc định của Vue CLI.

node_modules:

Thư mục node_modules trong dự án Vue.js chứa tất cả các gói phụ thuộc (dependencies) mà dự án của bạn cần để hoạt động. Khi bạn sử dụng npm hoặc Yarn để cài đặt các gói phụ thuộc cho dự án của mình, chúng sẽ được tải xuống và lưu trữ trong thư mục node_modules.

Chức năng của Thư mục node_modules:

  1. Lưu Trữ Các Gói Phụ Thuộc: Tất cả các gói phụ thuộc mà dự án Vue.js của bạn cần để chạy sẽ được lưu trữ trong thư mục node_modules. Điều này bao gồm Vue.js chính, cũng như các thư viện và công cụ khác mà bạn đã cài đặt.

  2. Quản Lý Phiên Bản Gói Phụ Thuộc: Thư mục node_modules cũng chứa các phiên bản cụ thể của mỗi gói phụ thuộc. Điều này đảm bảo rằng dự án của bạn có thể chạy một cách nhất quán trên các máy tính và môi trường phát triển khác nhau.

  3. Tích Hợp Với Công Cụ Quản Lý Gói: Khi bạn sử dụng npm hoặc Yarn để quản lý các gói phụ thuộc của dự án, các công cụ này sẽ tự động tải xuống và cài đặt các gói phụ thuộc vào thư mục node_modules.

Lưu Ý Quan Trọng:

  1. Không Nên Chỉnh Sửa Thủ Công: Thư mục node_modules được tạo và quản lý tự động bởi npm hoặc Yarn. Bạn không nên chỉnh sửa thủ công các tệp trong thư mục này, vì điều này có thể dẫn đến các vấn đề không mong muốn và khó khăn trong việc duy trì dự án.

  2. Không Nên Thêm Vào Repository: Thư mục node_modules thường không nên được thêm vào kho lưu trữ Git của bạn. Thay vào đó, bạn nên thêm tệp .gitignore vào dự án của mình để loại bỏ thư mục node_modules khỏi việc theo dõi Git.

  3. Tối Ưu Kích Thước: Thư mục node_modules có thể trở nên rất lớn nếu dự án của bạn có nhiều gói phụ thuộc. Để tối ưu hóa kích thước của dự án, bạn có thể xóa thư mục node_modules và chạy lại lệnh cài đặt phụ thuộc khi cần thiết.

4. Chạy Dự Án Vue

Bây giờ, bạn có thể chạy dự án Vue bằng lệnh:

npm run serve​

Lệnh này sẽ khởi động một máy chủ phát triển và mở trình duyệt với dự án của bạn.

Kết Luận

Bằng cách hiểu rõ cấu trúc thư mục của dự án Vue CLI, bạn có thể dễ dàng tìm và chỉnh sửa các tệp và thư mục cần thiết cho dự án của mình. Điều này giúp bạn tổ chức mã nguồn một cách hiệu quả và phát triển ứng dụng Vue của mình một cách dễ dàng hơn.

 

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday