Vite 8.1 اومد؛ حالا حالت dev باندلشده داره
خلاصهٔ کاملتر
ویت (Vite) نسخهٔ ۸.۱ رو منتشر کرد. نسخهٔ ۸ که اسفند/مارس با یه باندلر یکپارچه روی Rolldown اومده بود، حالا هفتهای ۴۱.۶ میلیون بار دانلود میشه که تقریباً به کل دانلودهای ویت ۷ رسیده. تیم ویت میگه کنار رفع رگرسیونهای ارتقا، روی ویژگیهای تازه هم کار کردن.
مهمترین ویژگی این نسخه bundled dev mode هست (قبلاً بهش میگفتن Full Bundle Mode). این حالت برای اپهای خیلی بزرگیه که از تعداد زیاد ماژولها ضربه میخورن. تو تست اولیه با یه اپ که ۱۰ هزار کامپوننت React لود میکرد، استارت حدود ۱۵ برابر و ریلود کامل صفحه حدود ۱۰ برابر سریعتر شده، در حالی که HMR بدون توجه به اندازهٔ اپ فوری مونده. تیم Linear هم تو تست واقعی رندرِ کولداستارت رو تا ۳ برابر سریعتر دیده.
دلیلش اینه که روش معروف ویت یعنی سرور dev بدونباندل، هر ماژول رو جدا fetch میکنه و مرورگر مجبوره کلی درخواست پردازش کنه. این تو اپهای بزرگ و مخصوصاً پشت پروکسی شبکه، استارت و رفرشو کند میکنه. حالت باندلشده فایلهای باندلشده رو نه فقط تو production که موقع توسعه هم سرو میکنه. برای روشن کردنش کافیه تو کانفیگ اینجوری بذاری:
import { defineConfig } from 'vite'
export default defineConfig({
experimental: {
bundledDev: true,
},
})تیم ویت هشدار میده که این حالت فعلاً روی سمت مرورگر و پلاگینها و ویژگیهای پایه تمرکز داره؛ اگه از یه پلاگین شخصثالث یا یه ویژگی جزئی استفاده میکنی، ممکنه هنوز کامل کار نکنه.
یه ویژگی آزمایشی دیگه chunk import map هست. مشکل این بود که وقتی محتوای یه chunk عوض میشد، هشِش تغییر میکرد و این تغییر آبشاری به همهٔ chunkهایی که واردش میکردن سرایت میکرد و کش رو خراب میکرد. این ویژگی با استفاده از import mapها این مشکلو حل میکنه و کارایی کش رو بهتر میکنه.
از ویژگیهای دیگه، پشتیبانی از پیشنهاد Wasm ESM integration هست؛ حالا میتونی فایلهای wasm رو مستقیم import کنی و توابع صادرشدهشونو مثل یه ماژول عادی صدا بزنی. ویت همچنین یه قدم به استفادهٔ پیشفرض از Lightning CSS نزدیکتر شده و دو تا قابلیت که تو PostCSS بود ولی تو Lightning CSS کم بود رو اضافه کرده. علاوه بر این، import.meta.glob حالا آپشن caseSensitive داره و میتونی کشف asset رو برای المانها و اتریبیوتهای دلخواه HTML هم تنظیم کنی.
نکات کلیدی:
- Vite 8.1 حالت آزمایشی bundled dev mode رو آورده که موقع توسعه هم باندل میکنه
- تو تست با ۱۰ هزار کامپوننت React، استارت تا ۱۵ برابر و ریلود تا ۱۰ برابر سریعتر شده
- با experimental.bundledDev: true یا فلگ --experimental-bundle روشن میشه
- chunk import map کارایی کش رو با import mapها بهتر میکنه
- import مستقیم فایلهای Wasm و نزدیک شدن به Lightning CSS پیشفرض از دیگر تغییراته




