Cara untuk mengkonfigurasi Vite untuk menyokong menggunakan sintaks JSX dalam fail JS
P粉571233520
P粉571233520 2023-08-24 19:55:15
0
1
673
<p>Vite tidak membenarkan penggunaan sintaks JSX dalam fail .js secara lalai. </p> <p>Saya telah menamakan semula fail saya kepada <kod>.jsx</kod> (atau <kod>.tsx</kod>), tetapi saya mempunyai beberapa kebergantungan luaran yang tidak boleh dinamakan semula. </p> <p>Contoh ralat vite:</p> <pre class="brush:php;toolbar:false;">✘ [ERROR] Sambungan sintaks JSX tidak didayakan pada masa ini node_modules/somelib/src/someFile.js:122:11: 122 │ kembalikan <div/></pre> <p>Bagaimana untuk mengkonfigurasi Vite untuk menyokong ungkapan JSX dalam semua fail .js? </p>
P粉571233520
P粉571233520

membalas semua(1)
P粉877719694

Anda boleh menukar konfigurasi esbuild dengan menganggap semua fail js sebagai jsx menggunakan pilihan loader:

// vite.config.ts
import {defineConfig} from 'vite'

// https://vitejs.dev/config/
export default defineConfig(() => ({
  esbuild: {
    loader: "tsx", // OR "jsx"
    include: [
      // Add this for business-as-usual behaviour for .jsx and .tsx files
      "src/**/*.jsx",
      "src/**/*.tsx",
      "node_modules/**/*.jsx",
      "node_modules/**/*.tsx",

      // Add the specific files you want to allow JSX syntax in
      "src/LocalJsxInJsComponent.js",
      "node_modules/bad-jsx-in-js-component/index.js",
      "node_modules/bad-jsx-in-js-component/js/BadJSXinJS.js",
      "node_modules/bad-jsx-in-js-component/ts/index.ts",
      "node_modules/bad-jsx-in-js-component/ts/BadTSXinTS.ts",

      // --- OR ---

      // Add these lines to allow all .js files to contain JSX
      "src/**/*.js",
      "node_modules/**/*.js",

      // Add these lines to allow all .ts files to contain JSX
      "src/**/*.ts",
      "node_modules/**/*.ts",
    ],
  },
}));

Nota: Akan ada penalti prestasi apabila menggunakan pemuat .jsx untuk memuatkan fail .js.

Jawapannya datang daripada perbincangan ini di GitHub Vite, menandakan jawapan yang salah (lama) sebagai "betul".

Dikemas kini Mac 2023

Jawapan asal dalam vite build中无法正常工作,只能在vite dev中正常工作。当前版本在vite@^4.0.0 berfungsi untuk kedua-duanya.

Satu repositori contoh yang anda boleh klon dan menguji penyelesaian anda.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!