قم بتسريع خادم Vite Dev مع SWC
npm i -D @vitejs/plugin-react-swc
import { defineConfig } from "vite" ;
import react from "@vitejs/plugin-react-swc" ;
export default defineConfig ( {
plugins : [ react ( ) ] ,
} ) ;
يحتوي هذا المكون الإضافي على خيارات محدودة لتمكين العروض الجيدة وتكون غير محدودة. فيما يلي قائمة الخيارات غير القابلة للتكوين التي تؤثر على سلوك وقت التشغيل:
jsx runtime
هو دائمًا automatic
target
والافتراضيات لـ es2020
(انظر devTarget
)السيطرة حيث يتم استيراد مصنع JSX من.
@default
"React"
react ( { jsxImportSource : "@emotion/react" } ) ;
تمكين الديكور TypeScript. يتطلب experimentalDecorators
في TSConfig.
@default
false
react ( { tsDecorators : true } ) ;
استخدم الإضافات SWC. تمكين SWC في وقت البناء.
react ( { plugins : [ [ "@swc/plugin-styled-components" , { } ] ] } ) ;
اضبط الهدف ل SWC في Dev. هذا يمكن أن يتجنب طريقة الفئة الخاصة لأسفل على سبيل المثال.
للحصول على هدف الإنتاج ، راجع https://vitejs.dev/config/build-options.html#build-target.
@default
"ES2020"
react ( { devTarget : "es2022" } ) ;
تجاوز القائمة الافتراضية (.ts ، .tsx ، .mts ، .jsx ، .mdx).
هذا يتطلب إعادة تعريف التكوين لأي ملف تريد أن يتم تضمينه (TS ، MDX ، ...).
إذا كنت ترغب في تشغيل تحديث سريع على JS ، فاستخدم jsx: true
. يجب التعامل مع استثناء Node_Modules بواسطة الوظيفة إذا لزم الأمر. إن استخدام هذا الخيار لاستخدام ملفات JSX داخل .js
يتم إحباطه للغاية ويمكن إزالته في أي إصدار مستقبلي.
react ( {
parserConfig ( id ) {
if ( id . endsWith ( ".res" ) ) return { syntax : "ecmascript" , jsx : true } ;
if ( id . endsWith ( ".ts" ) ) return { syntax : "typescript" , tsx : false } ;
} ,
} ) ;
من أجل React Refresh للعمل بشكل صحيح ، يجب أن يقوم ملفك بتصدير مكونات React فقط. أفضل تفسير قرأته هو واحد من مستندات Gatsby.
إذا تم العثور على تغيير غير متوافق في الصادرات ، فسيتم إبطال الوحدة النمطية وسيتم نشر HMR. لتسهيل تصدير الثوابت البسيطة إلى جانب المكون الخاص بك ، يتم إبطال الوحدة النمطية فقط عندما تتغير قيمتها.
يمكنك التقاط الأخطاء والحصول على تحذير أكثر تفصيلاً مع قاعدة ESLINT هذه.
vite-plugin-swc-react-refresh
تتوفر وثائق الإصدار السابق من البرنامج المساعد في فرع V2
للترحيل ، انظر هذا التغيير