Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon HMR của Vite có hoạt động tốt với các ứng dụng Vue.js không


HMR của Vite có hoạt động tốt với các ứng dụng Vue.js không


Tính năng Thay thế mô-đun nóng (HMR) của Vite hoạt động tốt với các ứng dụng Vue.js. Dưới đây là một số điểm chính về HMR và Vue.js của Vite:

Những điểm chính:

1. Tích hợp bên thứ nhất:
- Vite cung cấp tích hợp HMR của bên thứ nhất cho các Thành phần tệp đơn Vue và Làm mới nhanh phản ứng. Điều này có nghĩa là các ứng dụng Vue.js có thể tận dụng khả năng HMR của Vite mà không cần thiết lập bổ sung[1] [2].

2. Plugin Vue:
- Đối với các ứng dụng Vue.js, nên sử dụng plugin @vitejs/plugin-vue chính thức. Plugin này cung cấp cho Vue 3 tính năng cụ thể bao gồm HMR, phân giải thành phần toàn cầu, chỉ thị và vị trí[1] [2].

3. Cấu hình tùy chỉnh:
- Nếu sử dụng JSX mà không có React hoặc Vue, `jsxFactory` và `jsxFragment` tùy chỉnh có thể được cấu hình bằng tùy chọn `esbuild`. Ví dụ: đối với Preact, bạn có thể định cấu hình những thứ này trong tệp `vite.config.js`[1] [2].

4. Khắc phục sự cố:
- Nếu HMR không hoạt động trên trình duyệt, hãy đảm bảo rằng thứ tự plugin trong tệp `vite.config.js` là phù hợp. Vô hiệu hóa vite-plugin-checker cũng có thể giúp giải quyết vấn đề[3].

5. Tích hợp với Thư viện của bên thứ ba:
- Để thêm các thành phần HMR vào Vue được tải từ thư viện của bên thứ ba, bạn cần thêm thư viện vào các bí danh trong tệp `vite.config.js`. Điều này đảm bảo rằng Vite có thể phát hiện và cập nhật chính xác các thành phần trong HMR[4].

Phần kết luận:

Tính năng HMR của Vite được thiết kế để hoạt động trơn tru với các ứng dụng Vue.js. Bằng cách sử dụng plugin Vue chính thức và định cấu hình các tùy chọn `jsxFactory` và `jsxFragment`, bạn có thể đảm bảo rằng HMR hoạt động chính xác trong dự án Vue.js của mình. Ngoài ra, việc khắc phục sự cố và tích hợp thư viện của bên thứ ba có thể giúp giải quyết mọi sự cố có thể phát sinh trong quá trình thiết lập HMR.
Trích dẫn:
[1] https://v3.vitejs.dev/guide/features
[2] https://vitejs.dev/guide/features
[3] https://stackoverflow.com/questions/74625283/vue3-vite-hot-reload-hmr-no-working-in-the-browser
[4] https://github.com/vitejs/vite/discussions/7211
[5] https://inspector.dev/how-to-make-vite-hot-module-replacement-work-on-windows/