Rumah hujung hadapan web tutorial js Ralat MIME apl Vite React semasa memuatkan semula halaman

Ralat MIME apl Vite React semasa memuatkan semula halaman

Dec 18, 2024 pm 12:41 PM

Vite   React app MIME error when reloading the page

Ralat jenis MIME semasa memuat semula halaman dalam apl Vite React sering berlaku kerana pelayan tidak dikonfigurasikan dengan betul untuk mengendalikan penghalaan. Isu ini biasa berlaku dengan aplikasi satu halaman (SPA) seperti apl React di mana penghalaan sisi klien digunakan. Apabila anda memuatkan semula halaman pada laluan selain daripada akar, pelayan tidak tahu cara mengendalikannya, membawa kepada ralat jenis MIME atau ralat 404.

Berikut ialah beberapa penyelesaian untuk menyelesaikan isu ini:

1. Konfigurasikan Pelayan Pembangunan Vite

Jika anda menjalankan apl secara setempat dengan pelayan pembangunan Vite, anda boleh menambah konfigurasi asas dalam vite.config.js untuk membantu pelayan menyelesaikan laluan dengan betul.

// vite.config.js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
  base: '/', // Ensure this points to the correct base
  server: {
    open: true,
    // Configure server to return index.html for unknown routes
    hmr: true,
  },
});
Salin selepas log masuk

2. Konfigurasikan Pelayan untuk Pengeluaran

Jika anda telah menggunakan apl dan menghadapi ralat ini dalam pengeluaran, pastikan pelayan anda disediakan untuk mengendalikan penghalaan pihak klien dengan sentiasa menyediakan index.html.

Contohnya, dalam:

  • Nginx:
  server {
      listen 80;
      server_name yourdomain.com;

      location / {
          root /path/to/your/build;
          try_files $uri /index.html;
      }
  }
Salin selepas log masuk
  • Apache:

Tambahkan fail .htaccess pada folder binaan:

  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]
  </IfModule>
Salin selepas log masuk
  • Express (Node.js):

Jika anda menggunakan Node.js dengan Express untuk menyampaikan apl, tambahkan perisian tengah berikut untuk menyediakan index.html untuk sebarang laluan yang tidak diketahui:

  const express = require('express');
  const path = require('path');
  const app = express();

  app.use(express.static(path.join(__dirname, 'dist')));

  app.get('*', (req, res) => {
    res.sendFile(path.resolve(__dirname, 'dist', 'index.html'));
  });

  const PORT = process.env.PORT || 3000;
  app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
Salin selepas log masuk

3. Tambah Pilihan asas dalam Vite untuk Penggunaan Bukan akar

Jika apl anda digunakan dalam subdirektori (seperti https://example.com/app), tetapkan pilihan asas dalam vite.config.js:

// vite.config.js
export default defineConfig({
  base: '/app/', // Adjust according to your deployment path
  plugins: [react()],
});
Salin selepas log masuk

4. Gunakan BrowserRouter react-router-dom

Jika anda menggunakan react-router-dom, pastikan anda menggunakan BrowserRouter (bukan HashRouter) untuk penghalaan pihak klien. BrowserRouter menggunakan API sejarah HTML5, yang Vite menyokong dengan baik.

import { BrowserRouter } from 'react-router-dom';

function App() {
  return (
    <BrowserRouter>
      {/* your app routes here */}
    </BrowserRouter>
  );
}

export default App;
Salin selepas log masuk

Ringkasan

Konfigurasi ini harus menyelesaikan isu jenis MIME dengan memastikan pelayan menyediakan index.html untuk laluan yang tidak diketahui, membolehkan Vite dan penghala apl anda mengendalikan navigasi dengan betul pada muat semula halaman.

Atas ialah kandungan terperinci Ralat MIME apl Vite React semasa memuatkan semula halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

Contoh warna json fail Contoh warna json fail Mar 03, 2025 am 12:35 AM

Contoh warna json fail

8 plugin susun atur halaman jquery yang menakjubkan 8 plugin susun atur halaman jquery yang menakjubkan Mar 06, 2025 am 12:48 AM

8 plugin susun atur halaman jquery yang menakjubkan

10 JQuery Syntax Highlighters 10 JQuery Syntax Highlighters Mar 02, 2025 am 12:32 AM

10 JQuery Syntax Highlighters

Bina Aplikasi Web Ajax anda sendiri Bina Aplikasi Web Ajax anda sendiri Mar 09, 2025 am 12:11 AM

Bina Aplikasi Web Ajax anda sendiri

Apa itu ' ini ' Dalam JavaScript? Apa itu ' ini ' Dalam JavaScript? Mar 04, 2025 am 01:15 AM

Apa itu ' ini ' Dalam JavaScript?

10 JavaScript & JQuery MVC Tutorial 10 JavaScript & JQuery MVC Tutorial Mar 02, 2025 am 01:16 AM

10 JavaScript & JQuery MVC Tutorial

See all articles