Vite.js Nedir? Ne işe Yarar?

Hızlı ve konforlu ön yüz geliştirme için hazırlanmış yerel bir geliştirme sunucusu hazırlama aracıdır. TypeScript ve JavaScript desteği vardır. Evan You tarafından geliştirilmiştir.

Geliştirme sırasında native ES Module imports kullanan, ön tanımları ile çok hızlı development server kurulumu yapan yeni nesil bir module bundler’dır. 

ESM (EcmaScript Module) standardını temel alır. Modüller geliştirme anlayışını benimser. Özellikle büyük çaplı projelerin modüller bazlı yönetilmesi için esneklik sağlar.

HMR (Hot Module Replacement) özelliğini destekleyerek anlık modül değişikliklerini sağlar. Kodda yaptığınız değişiklik sadece ilgili modülde değil uygulamanın bütününde güncellenir.

Production build işlemini optimize etmek için çeşitli özellikler kullanır. Proje dosyalarını sıkıştırır, küçültür, gerekli olmayan içerikleri temizler.

ViteJS Neden Yüksek Performanslı ve Hızlı?

Çünkü…

  • Pre-bundle,
  • Ön tanımlı konfigürasyona sahip,
  • SWC ve native ES Module imports kullanıyor.

Ayrıca,

  • Geliştirme sırasında proje bundle edilmeyip native ES Module imports ile browser üzerinden direk sunulur.
  • Go tabanlı esbuild ile projeyi ve dependency’leri analiz eder. Değişmeyen kod blocklarını direk pre-bundle işlemine dahil eder, böylece bütün projeyi bundle etme yükünden kurtarır.
  • Sadece production aşamasında bundle işlemini gerçekleştirir. Böylece, development adımındaki bundle oluşturma yükünden kurtulur.

ViteJS Hangi Framework ve Library ile Kullanılır

Modern ve yaygın olarak tercih edilen neredeyse bütün framework’lerle uyumludur.

  • VueJS
  • React
  • Svelte
  • Angular

Webpack ve ViteJS Arasındaki Farklar

  • TypeScript için Webpack’de ayrı yapılandırma gerekirken ViteJS‘de direk tanımlı gelir. Hemen kullanılmaya başlanabilir.
  • Hem Webpack hem de Vite HMR’yi desteklese de, farklı modül hizmet mekanizmaları kullanırlar. ViteJS’de proje değişiklikleri direk browser’a projenin bütününe yansır.
  • ViteJS, local and browser caching ile sorunsuz çalışırken, Webpack bu işlevsel için özelleştirilmiş yapılandırma gerektirir.
  • ViteJS geliştirme aşamasına odaklanır. Webpack’in production aşamasında da çözümleri mevcuttur.
Webpack ViteJS
Desteklenen Modüller: ES Modules, CommonJS and AMD Modules Desteklenen Modüller: ES Modules
Geliştirme Sunucusu: ExpressJS tabanlı webpack-dev-server modülü Geliştirme Sunucusu: Koa web server tabanlı Native-ES modülü
Production Build: webpack Production Build: Rollup

ViteJS ile Yeni Bir proje Yaratmak

Bulunduğunuz dizinde NPM paket yöneticisi ile Vite projesi başlatmak için aşağıdaki komutu yazmanız yeterlidir.

npm create vite .

Tercih ettiğiniz farklı bir package manager varsa ona göre komutu tekrar düzenlemeniz gerekebilir.

npm create vite@latest
yarn create vite
pnpm create vite

Komutunu yazdıktan sonra kullanacağınız framework ve programlama dilini komut satırından seçerek projenizi oluşturabilirsiniz.
İlgili modülleri indirmek için

npm install

Projeyi çalıştırmak için

npm run dev

Production build almak için

npm run build

Bu komut ile dist klasörüne build dosyalarımız oluşur. Böylece neredeyse sıfır yapılandırma ile proje geliştirebilirsiniz!

ViteJS Projesini Yapılandırma

vite.config.js dosyası üzerinden işlem yapmanız gerekmektedir. Bütün ayarlamalar bu dosya üzerinden yapılır.

ViteJS Eklenti Kurulumu

Farklı ihtiyaçlara yönelik eklenti sistemi mevcuttur. Bunlar sayesinde ViteJS içerisindeki öntanımlı ayarlamalar güncellenebilir. ViteJS Plugin listesi erişmek için buraya tıklayınız.

ÖRNEK:

Desteklenen tarayıcıları tanımlamak için @vitejs/plugin-legacy eklentisi tercih edilebilir. Bu eklenti kurulduktan sonra config dosyasına aşağıdaki tanımlama eklenebilir.

import legacy from '@vitejs/plugin-legacy'

export default {
  plugins: [
    legacy({
      targets: ['defaults', 'not IE 11'],
    }),
  ],
}