{"id":39042,"date":"2026-02-13T07:40:51","date_gmt":"2026-02-13T04:40:51","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=39042"},"modified":"2026-02-13T07:40:51","modified_gmt":"2026-02-13T04:40:51","slug":"react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/","title":{"rendered":"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi<\/h2>\n<p>Modern web geli\u015ftirme d\u00fcnyas\u0131nda h\u0131z, verimlilik ve kullan\u0131c\u0131 deneyimi her zamankinden daha kritik bir \u00f6neme sahiptir. \u00d6zellikle React gibi bile\u015fen tabanl\u0131 k\u00fct\u00fcphanelerle b\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalar geli\u015ftirirken, geli\u015ftirme s\u00fcre\u00e7lerinin olabildi\u011fince ak\u0131c\u0131 ve h\u0131zl\u0131 olmas\u0131 beklenir. Bu noktada, geleneksel derleme ara\u00e7lar\u0131n\u0131n (bundlers) kar\u015f\u0131la\u015ft\u0131\u011f\u0131 performans sorunlar\u0131, yeni nesil ara\u00e7lara olan ihtiyac\u0131 do\u011furmu\u015ftur. \u0130\u015fte tam da bu ihtiyaca cevap veren ara\u00e7lardan biri de Vite&#8217;t\u0131r. Bu makalede, React projelerinizi Vite ile nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve geli\u015ftirme s\u00fcre\u00e7lerinizi nas\u0131l h\u0131zland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h3>Giri\u015f: React ve Geli\u015ftirme Ortamlar\u0131n\u0131n Evrimi<\/h3>\n<p>React, Facebook taraf\u0131ndan geli\u015ftirilen ve kullan\u0131c\u0131 aray\u00fczleri olu\u015fturmak i\u00e7in kullan\u0131lan pop\u00fcler bir JavaScript k\u00fct\u00fcphanesidir. Bile\u015fen tabanl\u0131 yap\u0131s\u0131 sayesinde karma\u015f\u0131k UI&#8217;lar\u0131 y\u00f6netilebilir par\u00e7alara ay\u0131rma ve yeniden kullan\u0131labilirlik sa\u011flama konusunda b\u00fcy\u00fck avantajlar sunar. Ancak React uygulamalar\u0131 genellikle JSX (JavaScript XML), TypeScript, CSS \u00f6n i\u015flemcileri gibi modern \u00f6zellikler kullan\u0131r. Taray\u0131c\u0131lar bu dilleri do\u011frudan anlayamad\u0131\u011f\u0131 i\u00e7in, yazd\u0131\u011f\u0131m\u0131z kodu taray\u0131c\u0131n\u0131n anlayabilece\u011fi standart JavaScript, HTML ve CSS&#8217;e d\u00f6n\u00fc\u015ft\u00fcren ara\u00e7lara ihtiya\u00e7 duyar\u0131z. Bu ara\u00e7lara &#8220;derleyici&#8221; veya &#8220;paketleyici&#8221; (bundler) denir.<\/p>\n<p>Uzun y\u0131llar boyunca Webpack, React projeleri i\u00e7in en yayg\u0131n kullan\u0131lan paketleyici olmu\u015ftur. Webpack, g\u00fc\u00e7l\u00fc ve esnek bir ara\u00e7 olmas\u0131na ra\u011fmen, \u00f6zellikle b\u00fcy\u00fck projelerde geli\u015ftirme sunucusunun ba\u015flamas\u0131 (cold start) ve Hot Module Replacement (HMR) s\u00fcrelerinin uzamas\u0131 gibi performans sorunlar\u0131na yol a\u00e7abilmekteydi. Bu durum, geli\u015ftiricilerin verimlili\u011fini d\u00fc\u015f\u00fcrmekte ve geli\u015ftirme d\u00f6ng\u00fclerini yava\u015flatmaktayd\u0131. Create React App (CRA) gibi ara\u00e7lar, Webpack&#8217;in karma\u015f\u0131k yap\u0131land\u0131rmas\u0131n\u0131 soyutlayarak geli\u015ftiricilere h\u0131zl\u0131 bir ba\u015flang\u0131\u00e7 noktas\u0131 sunsa da, alt\u0131nda yatan Webpack mimarisinin getirdi\u011fi performans k\u0131s\u0131tlamalar\u0131n\u0131 tamamen ortadan kald\u0131ramam\u0131\u015ft\u0131r.<\/p>\n<p>\u0130\u015fte tam bu noktada, modern web geli\u015ftirme ara\u00e7lar\u0131 sahneye \u00e7\u0131kt\u0131. Vite, Evan You (Vue.js&#8217;nin yarat\u0131c\u0131s\u0131) taraf\u0131ndan geli\u015ftirilen, geli\u015ftirme sunucusu ve derleme arac\u0131 kombinasyonudur. Vite, ES Mod\u00fcllerini (ESM) temel alarak geli\u015ftirme ortam\u0131nda derleme ad\u0131m\u0131n\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde ortadan kald\u0131r\u0131r ve bu sayede inan\u0131lmaz derecede h\u0131zl\u0131 bir geli\u015ftirme deneyimi sunar. React ile birlikte kullan\u0131ld\u0131\u011f\u0131nda, geli\u015ftiricilere hem tan\u0131d\u0131k bir React geli\u015ftirme ortam\u0131 hem de rakipsiz bir h\u0131z avantaj\u0131 sa\u011flar.<\/p>\n<h3>Neden Vite? Geleneksel Ara\u00e7lara G\u00f6re Avantajlar\u0131<\/h3>\n<p>Vite&#8217;\u0131n pop\u00fclaritesi, sundu\u011fu e\u015fsiz h\u0131z ve geli\u015ftirici deneyimi sayesinde h\u0131zla artmaktad\u0131r. Geleneksel ara\u00e7lara k\u0131yasla bir\u00e7ok \u00f6nemli avantaj\u0131 bulunmaktad\u0131r:<\/p>\n<h4>Geleneksel Ara\u00e7lar\u0131n Zorluklar\u0131<\/h4>\n<p>Geleneksel paketleyiciler (\u00f6rne\u011fin Webpack), projeyi \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce t\u00fcm mod\u00fclleri bir araya getirip derler. Bu &#8220;\u00f6n-paketleme&#8221; (pre-bundling) s\u00fcreci, \u00f6zellikle b\u00fcy\u00fck uygulamalarda ciddi zaman alabilir.<\/p>\n<p>*   <strong>Yava\u015f Ba\u015flang\u0131\u00e7 S\u00fcreleri (Cold Start):<\/strong> Geli\u015ftirme sunucusunu ilk ba\u015flatt\u0131\u011f\u0131n\u0131zda, t\u00fcm uygulama kodunun taranmas\u0131, ba\u011f\u0131ml\u0131l\u0131klar\u0131n \u00e7\u00f6z\u00fcmlenmesi ve derlenmesi gerekir. Bu i\u015flem, binlerce mod\u00fcl\u00fc olan projelerde dakikalar s\u00fcrebilir.<br \/>\n*   <strong>Yava\u015f Hot Module Replacement (HMR):<\/strong> Kodda k\u00fc\u00e7\u00fck bir de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131zda, Webpack genellikle etkilenen mod\u00fcl\u00fc ve onun ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 yeniden derlemek zorunda kal\u0131r. B\u00fcy\u00fck projelerde bu da hissedilir bir gecikmeye yol a\u00e7abilir.<br \/>\n*   <strong>Karma\u015f\u0131k Yap\u0131land\u0131rma:<\/strong> Webpack&#8217;in yap\u0131land\u0131rma dosyas\u0131 (webpack.config.js) olduk\u00e7a karma\u015f\u0131k olabilir ve bir\u00e7ok eklenti (plugins), y\u00fckleyici (loaders) ve optimizasyon ayar\u0131 gerektirebilir. Bu durum, yeni ba\u015flayanlar i\u00e7in \u00f6\u011frenme e\u011frisini art\u0131r\u0131r ve deneyimli geli\u015ftiriciler i\u00e7in de zaman kayb\u0131na neden olabilir.<\/p>\n<h4>Vite&#8217;\u0131n Temel Avantajlar\u0131<\/h4>\n<p>Vite, bu sorunlara modern bir yakla\u015f\u0131mla \u00e7\u00f6z\u00fcm getirir:<\/p>\n<p>*   <strong>ES Mod\u00fclleri (ESM) \u00dczerinden Geli\u015ftirme:<\/strong> Vite, geli\u015ftirme ortam\u0131nda taray\u0131c\u0131n\u0131n yerel ES Mod\u00fcl\u00fc deste\u011fini kullan\u0131r. Bu, Vite&#8217;\u0131n kodunuzu derlemeden do\u011frudan taray\u0131c\u0131ya g\u00f6nderebilece\u011fi anlam\u0131na gelir. Yaln\u0131zca taray\u0131c\u0131 bir mod\u00fcl\u00fc istedi\u011finde Vite onu i\u015fler. Bu &#8220;iste\u011fe ba\u011fl\u0131 derleme&#8221; (on-demand compilation) sayesinde geli\u015ftirme sunucusunun ba\u015flang\u0131\u00e7 s\u00fcreleri neredeyse anl\u0131kt\u0131r.<br \/>\n*   <strong>An\u0131nda Hot Module Replacement (HMR):<\/strong> Vite, HMR&#8217;\u0131 ESM \u00fczerine in\u015fa etmi\u015ftir. Bir dosyada de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131zda, Vite sadece de\u011fi\u015fen mod\u00fcl\u00fc ve onun ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ge\u00e7ersiz k\u0131lar ve taray\u0131c\u0131ya g\u00f6nderir. Bu i\u015flem, sadece de\u011fi\u015fen kodun taray\u0131c\u0131 taraf\u0131ndan yeniden y\u00fcklenmesini sa\u011flar ve uygulama durumunu koruyarak an\u0131nda g\u00fcncellemeler sunar.<br \/>\n*   <strong>H\u0131zl\u0131 Derleme (Rollup ile):<\/strong> \u00dcretim ortam\u0131 i\u00e7in Vite, Rollup&#8217;\u0131 kullan\u0131r. Rollup, ESM tabanl\u0131 uygulamalar i\u00e7in olduk\u00e7a optimize edilmi\u015f ve verimli bir paketleyicidir. Bu sayede, Vite ile olu\u015fturulan \u00fcretim derlemeleri de olduk\u00e7a h\u0131zl\u0131 ve performansl\u0131d\u0131r.<br \/>\n*   <strong>Geni\u015f Eklenti Ekosistemi:<\/strong> Vite, Rollup&#8217;\u0131n eklenti aray\u00fcz\u00fcn\u00fc benimser ve kendi \u00f6zel Vite eklentileriyle bu ekosistemi geni\u015fletir. Bu sayede, \u00f6zel ihtiya\u00e7lar\u0131n\u0131za g\u00f6re kolayca geni\u015fletilebilir.<br \/>\n*   <strong>Kolay Yap\u0131land\u0131rma:<\/strong> Vite&#8217;\u0131n varsay\u0131lan yap\u0131land\u0131rmas\u0131 \u00e7o\u011fu proje i\u00e7in yeterlidir. \u00d6zel bir yap\u0131land\u0131rmaya ihtiya\u00e7 duydu\u011funuzda ise <code>vite.config.js<\/code> dosyas\u0131 olduk\u00e7a basit ve anla\u015f\u0131l\u0131rd\u0131r.<br \/>\n*   <strong>TypeScript, JSX, CSS Deste\u011fi:<\/strong> Vite, kutudan \u00e7\u0131kt\u0131\u011f\u0131 gibi TypeScript, JSX ve \u00e7e\u015fitli CSS \u00f6n i\u015flemcilerini (Sass, Less, Stylus) destekler. Bu, geli\u015ftiricilerin ek yap\u0131land\u0131rma olmadan modern web teknolojilerini kullanabilece\u011fi anlam\u0131na gelir.<br \/>\n*   <strong>Monorepo Deste\u011fi:<\/strong> Vite, monorepo yap\u0131lar\u0131 i\u00e7inde de olduk\u00e7a iyi \u00e7al\u0131\u015f\u0131r ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n y\u00f6netimi konusunda esneklik sunar.<\/p>\n<p>K\u0131sacas\u0131, Vite geli\u015ftiricilere daha h\u0131zl\u0131 bir ba\u015flang\u0131\u00e7, daha h\u0131zl\u0131 geri bildirim d\u00f6ng\u00fcleri ve daha az yap\u0131land\u0131rma karma\u015f\u0131kl\u0131\u011f\u0131 sunarak React projelerinde geli\u015ftirme deneyimini k\u00f6kten iyile\u015ftirir.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>React projenizi Vite ile kurmaya ba\u015flamadan \u00f6nce bilgisayar\u0131n\u0131zda baz\u0131 temel ara\u00e7lar\u0131n y\u00fckl\u00fc olmas\u0131 gerekmektedir:<\/p>\n<p>*   <strong>Node.js:<\/strong> Vite ve React projeleri Node.js \u00e7al\u0131\u015fma zaman\u0131na ihtiya\u00e7 duyar. Node.js&#8217;in LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcm\u00fcn\u00fc indirip kurman\u0131z \u00f6nerilir. Node.js kurulumuyla birlikte npm (Node Package Manager) de otomatik olarak y\u00fcklenecektir.<br \/>\n    *   Node.js&#8217;in kurulu olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in terminalde <code>node -v<\/code> ve <code>npm -v<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz.<br \/>\n*   <strong>Paket Y\u00f6neticisi:<\/strong> npm, Yarn veya pnpm&#8217;den herhangi birini kullanabilirsiniz. Bu makalede \u00f6rnekler i\u00e7in npm kullan\u0131lacakt\u0131r, ancak komutlar di\u011fer paket y\u00f6neticileriyle de benzerdir.<br \/>\n*   <strong>Temel Komut Sat\u0131r\u0131 Bilgisi:<\/strong> Terminal veya komut istemcisini kullanarak dizinler aras\u0131nda gezinme ve temel komutlar\u0131 \u00e7al\u0131\u015ft\u0131rma bilgisi faydal\u0131 olacakt\u0131r.<br \/>\n*   <strong>Metin D\u00fczenleyici:<\/strong> Visual Studio Code (VS Code) gibi modern bir metin d\u00fczenleyici, geli\u015ftirme s\u00fcrecinizi kolayla\u015ft\u0131racakt\u0131r.<\/p>\n<p>Bu gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131n\u0131zda, React projenizi Vite ile kurmaya haz\u0131rs\u0131n\u0131z demektir.<\/p>\n<h3>React Projesi Vite ile Ad\u0131m Ad\u0131m Kurulum<\/h3>\n<p>\u015eimdi, React projemizi Vite kullanarak nas\u0131l olu\u015fturaca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m g\u00f6relim.<\/p>\n<h4>1. Yeni Bir Vite Projesi Olu\u015fturma<\/h4>\n<p>Vite, projenizi kolayca olu\u015fturman\u0131z i\u00e7in bir komut sat\u0131r\u0131 aray\u00fcz\u00fc (CLI) sa\u011flar. Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">npm create vite@latest<\/code><\/pre>\n<p>Bu komut, <code>create-vite<\/code> arac\u0131n\u0131 \u00e7al\u0131\u015ft\u0131racak ve size bir dizi soru sorarak projenizi yap\u0131land\u0131rman\u0131za yard\u0131mc\u0131 olacakt\u0131r:<\/p>\n<p>*   <strong><code>Proje ad\u0131:<\/code><\/strong> (\u00f6rne\u011fin: <code>my-react-app<\/code>)<br \/>\n    *   Projenizin ad\u0131n\u0131 girin. Bu ayn\u0131 zamanda projenizin olu\u015fturulaca\u011f\u0131 dizinin ad\u0131 olacakt\u0131r.<br \/>\n*   <strong><code>Bir \u00e7er\u00e7eve se\u00e7in:<\/code><\/strong> (\u00f6rne\u011fin: <code>React<\/code>)<br \/>\n    *   Ok tu\u015flar\u0131n\u0131 kullanarak <code>React<\/code>&#8216;\u0131 se\u00e7in ve Enter&#8217;a bas\u0131n.<br \/>\n*   <strong><code>Bir varyant se\u00e7in:<\/code><\/strong> (\u00f6rne\u011fin: <code>JavaScript<\/code> veya <code>TypeScript<\/code>)<br \/>\n    *   React i\u00e7in \u00e7e\u015fitli varyantlar sunulur: <code>JavaScript<\/code>, <code>TypeScript<\/code>, <code>JavaScript + SWC<\/code>, <code>TypeScript + SWC<\/code>. SWC (Speedy Web Compiler), Rust tabanl\u0131 h\u0131zl\u0131 bir derleyicidir ve React kodunuzu daha h\u0131zl\u0131 derleyebilir. Yeni ba\u015flayanlar i\u00e7in <code>JavaScript<\/code> veya <code>TypeScript<\/code> yeterli olacakt\u0131r. E\u011fer TypeScript kullanmay\u0131 planl\u0131yorsan\u0131z <code>TypeScript<\/code> varyant\u0131n\u0131 se\u00e7in. Bu makalede <code>JavaScript<\/code> varyant\u0131 \u00fczerinden devam edece\u011fiz.<\/p>\n<p>Se\u00e7imlerinizi yapt\u0131ktan sonra, Vite projenizin temel yap\u0131s\u0131n\u0131 saniyeler i\u00e7inde olu\u015fturacakt\u0131r. Terminal \u00e7\u0131kt\u0131s\u0131 \u015funa benzer olacakt\u0131r:<\/p>\n<pre><code class=\"language-\">\u2714 Proje ad\u0131: \u2026 my-react-app\n\u2714 Bir \u00e7er\u00e7eve se\u00e7in: \u203a React\n\u2714 Bir varyant se\u00e7in: \u203a JavaScript\n\nScaffolding project in \/Users\/kullanici\/Desktop\/my-react-app...\n\nDone. Now run:\n\n  cd my-react-app\n  npm install\n  npm run dev<\/code><\/pre>\n<h4>2. Proje Dizinine Gitme ve Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Y\u00fckleme<\/h4>\n<p>Proje ba\u015far\u0131yla olu\u015fturulduktan sonra, terminalinizde olu\u015fturulan proje dizinine ge\u00e7meniz ve projenin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fcklemeniz gerekir.<\/p>\n<pre><code class=\"language-bash\">cd my-react-app\nnpm install<\/code><\/pre>\n<p><code>npm install<\/code> komutu, <code>package.json<\/code> dosyas\u0131nda belirtilen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 (React, ReactDOM, Vite eklentileri vb.) projenizin <code>node_modules<\/code> klas\u00f6r\u00fcne indirecektir. Bu i\u015flem, internet h\u0131z\u0131n\u0131za ve proje ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n say\u0131s\u0131na ba\u011fl\u0131 olarak birka\u00e7 saniye veya dakika s\u00fcrebilir.<\/p>\n<h4>3. Geli\u015ftirme Sunucusunu Ba\u015flatma<\/h4>\n<p>Ba\u011f\u0131ml\u0131l\u0131klar y\u00fcklendikten sonra, Vite&#8217;\u0131n s\u00fcper h\u0131zl\u0131 geli\u015ftirme sunucusunu ba\u015flatmaya haz\u0131rs\u0131n\u0131z.<\/p>\n<pre><code class=\"language-bash\">npm run dev<\/code><\/pre>\n<p>Bu komut, <code>package.json<\/code> dosyas\u0131ndaki <code>scripts<\/code> b\u00f6l\u00fcm\u00fcnde tan\u0131mlanan <code>dev<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131r. Vite, geli\u015ftirme sunucusunu ba\u015flatacak ve size uygulaman\u0131z\u0131n yerel olarak eri\u015filebilir oldu\u011fu URL&#8217;yi (genellikle <code>http:\/\/localhost:5173<\/code>) verecektir.<\/p>\n<p>Terminal \u00e7\u0131kt\u0131s\u0131 \u015funa benzer olacakt\u0131r:<\/p>\n<pre><code class=\"language-\">> my-react-app@0.0.0 dev\n> vite\n\n  VITE v4.4.9  ready in 186 ms\n\n  \u279c  Local:   http:\/\/localhost:5173\/\n  \u279c  Network: use --host to expose\n  \u279c  press h to show help<\/code><\/pre>\n<p>\u015eimdi taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve verilen URL&#8217;ye gidin (\u00f6rne\u011fin, <code>http:\/\/localhost:5173<\/code>). React uygulaman\u0131z\u0131n varsay\u0131lan Vite logosu ve React logosu ile birlikte \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6receksiniz. Tebrikler, ilk Vite ve React projenizi ba\u015far\u0131yla kurdunuz!<\/p>\n<h4>4. Proje Yap\u0131s\u0131 ve Dosyalar<\/h4>\n<p>Vite ile olu\u015fturulan React projesinin temel dizin yap\u0131s\u0131n\u0131 inceleyelim:<\/p>\n<pre><code class=\"language-\">my-react-app\/\n\u251c\u2500\u2500 public\/\n\u2502   \u2514\u2500\u2500 vite.svg\n\u251c\u2500\u2500 src\/\n\u2502   \u251c\u2500\u2500 assets\/\n\u2502   \u2502   \u2514\u2500\u2500 react.svg\n\u2502   \u251c\u2500\u2500 App.css\n\u2502   \u251c\u2500\u2500 App.jsx           \/\/ veya App.tsx\n\u2502   \u251c\u2500\u2500 index.css\n\u2502   \u2514\u2500\u2500 main.jsx          \/\/ veya main.tsx\n\u251c\u2500\u2500 .eslintrc.cjs\n\u251c\u2500\u2500 .gitignore\n\u251c\u2500\u2500 index.html\n\u251c\u2500\u2500 package.json\n\u251c\u2500\u2500 package-lock.json\n\u251c\u2500\u2500 README.md\n\u2514\u2500\u2500 vite.config.js        \/\/ veya vite.config.ts<\/code><\/pre>\n<p>*   <strong><code>public\/<\/code><\/strong>: Statik dosyalar\u0131n\u0131z\u0131 i\u00e7eren dizindir. Bu dizindeki dosyalar do\u011frudan web sunucusunun k\u00f6k\u00fcnden sunulur ve derleme s\u00fcrecine dahil edilmez. <code>index.html<\/code> i\u00e7inde <code><link rel=\"icon\" href=\"\/vite.svg\" \/><\/code> gibi yollarla eri\u015filebilirler.<br \/>\n*   <strong><code>src\/<\/code><\/strong>: Uygulaman\u0131z\u0131n kaynak kodunu i\u00e7erir.<br \/>\n    *   <strong><code>src\/assets\/<\/code><\/strong>: Uygulaman\u0131z\u0131n resim, font gibi statik varl\u0131klar\u0131n\u0131 i\u00e7erir. Vite, bu varl\u0131klar\u0131 derleme s\u00fcrecinde i\u015fler.<br \/>\n    *   <strong><code>src\/App.jsx<\/code><\/strong>: Ana React bile\u015feninizdir. Uygulaman\u0131z\u0131n temel layout&#8217;u ve bile\u015fenleri burada tan\u0131mlan\u0131r.<br \/>\n    *   <strong><code>src\/main.jsx<\/code><\/strong>: Uygulaman\u0131z\u0131n giri\u015f noktas\u0131d\u0131r. React uygulaman\u0131z\u0131n DOM&#8217;a ba\u011fland\u0131\u011f\u0131 yerdir. <code>ReactDOM.createRoot<\/code> ve <code>root.render<\/code> burada kullan\u0131l\u0131r.<br \/>\n    *   <strong><code>src\/App.css<\/code><\/strong> ve <strong><code>src\/index.css<\/code><\/strong>: Uygulaman\u0131z\u0131n stil dosyalar\u0131d\u0131r.<br \/>\n*   <strong><code>.eslintrc.cjs<\/code><\/strong>: ESLint yap\u0131land\u0131rma dosyas\u0131d\u0131r. Kod kalitesini ve tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong><code>.gitignore<\/code><\/strong>: Git versiyon kontrol sistemi taraf\u0131ndan izlenmemesi gereken dosya ve dizinleri belirtir.<br \/>\n*   <strong><code>index.html<\/code><\/strong>: Uygulaman\u0131z\u0131n tek HTML dosyas\u0131d\u0131r. Vite, geli\u015ftirme s\u0131ras\u0131nda bu dosyay\u0131 entry point olarak kullan\u0131r. <code><script type=\"module\" src=\"\/src\/main.jsx\"><\/script><\/code> etiketi ile <code>main.jsx<\/code> dosyas\u0131n\u0131 y\u00fckler.<br \/>\n*   <strong><code>package.json<\/code><\/strong>: Projenizin meta verilerini, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve \u00e7al\u0131\u015fma komutlar\u0131n\u0131 (scriptler) i\u00e7erir.<br \/>\n    *   <code>\"scripts\"<\/code>:<br \/>\n        *   <code>\"dev\"<\/code>: Geli\u015ftirme sunucusunu ba\u015flat\u0131r (<code>vite<\/code>).<br \/>\n        *   <code>\"build\"<\/code>: \u00dcretim i\u00e7in uygulamay\u0131 derler (<code>vite build<\/code>).<br \/>\n        *   <code>\"lint\"<\/code>: ESLint ile kod kontrol\u00fc yapar.<br \/>\n        *   <code>\"preview\"<\/code>: \u00dcretim derlemesini yerel olarak \u00f6nizler (<code>vite preview<\/code>).<br \/>\n*   <strong><code>vite.config.js<\/code><\/strong>: Vite&#8217;\u0131n yap\u0131land\u0131rma dosyas\u0131d\u0131r. Buradan Vite&#8217;\u0131n davran\u0131\u015f\u0131n\u0131 \u00f6zelle\u015ftirebilirsiniz.<\/p>\n<h3>Vite ve React Projenizi Yap\u0131land\u0131rma<\/h3>\n<p><code>vite.config.js<\/code> dosyas\u0131, Vite projenizin kalbidir ve burada bir\u00e7ok ayar\u0131 \u00f6zelle\u015ftirebilirsiniz.<\/p>\n<h4><code>vite.config.js<\/code> Dosyas\u0131n\u0131 Anlamak<\/h4>\n<p>Varsay\u0131lan <code>vite.config.js<\/code> dosyas\u0131 \u015funa benzer:<\/p>\n<pre><code class=\"language-javascript\">import { defineConfig } from 'vite'\nimport react from '@vitejs\/plugin-react'\n\n\/\/ https:\/\/vitejs.dev\/config\/\nexport default defineConfig({\n  plugins: [react()],\n})<\/code><\/pre>\n<p>*   <strong><code>defineConfig<\/code><\/strong>: Vite&#8217;tan i\u00e7e aktar\u0131lan bir yard\u0131mc\u0131 fonksiyondur. Bu fonksiyon, yap\u0131land\u0131rma nesnesinin otomatik tamamlanmas\u0131n\u0131 (autocompletion) ve tip kontrol\u00fcn\u00fc sa\u011flamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong><code>plugins<\/code><\/strong>: Vite&#8217;\u0131n temel \u00f6zelliklerini geni\u015fletmek i\u00e7in kullan\u0131lan eklentilerin bir dizisidir.<br \/>\n    *   <code>@vitejs\/plugin-react<\/code>: Bu eklenti, React uygulamalar\u0131 i\u00e7in gerekli olan JSX d\u00f6n\u00fc\u015f\u00fcm\u00fcn\u00fc ve HMR&#8217;\u0131 sa\u011flar. React projeniz i\u00e7in olmazsa olmaz bir eklentidir.<\/p>\n<p>Yayg\u0131n yap\u0131land\u0131rma se\u00e7enekleri \u015funlard\u0131r:<\/p>\n<p>*   <strong><code>root<\/code><\/strong>: Projenizin k\u00f6k dizini. Varsay\u0131lan olarak <code>process.cwd()<\/code> (komutun \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131 dizin) kullan\u0131l\u0131r.<br \/>\n*   <strong><code>base<\/code><\/strong>: \u00dcretim ortam\u0131nda uygulaman\u0131z\u0131n da\u011f\u0131t\u0131laca\u011f\u0131 temel URL yolu. \u00d6rne\u011fin, GitHub Pages&#8217;a da\u011f\u0131t\u0131yorsan\u0131z <code>\/repo-ad\u0131\/<\/code> gibi bir de\u011fer atayabilirsiniz.<br \/>\n*   <strong><code>publicDir<\/code><\/strong>: Statik varl\u0131klar\u0131n bulundu\u011fu dizin. Varsay\u0131lan olarak <code>public<\/code> klas\u00f6r\u00fcd\u00fcr.<br \/>\n*   <strong><code>resolve.alias<\/code><\/strong>: Mod\u00fcl yollar\u0131 i\u00e7in takma adlar (aliases) tan\u0131mlaman\u0131z\u0131 sa\u011flar. Bu, uzun g\u00f6receli yollar\u0131 yazmaktan kurtar\u0131r. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-javascript\">resolve: {\n      alias: {\n        '@': path.resolve(__dirname, '.\/src'),\n        '@components': path.resolve(__dirname, '.\/src\/components'),\n      },\n    },<\/code><\/pre>\n<p>    Bunu kullanmak i\u00e7in <code>path<\/code> mod\u00fcl\u00fcn\u00fc import etmeniz gerekebilir: <code>import path from 'path';<\/code> (Node.js ortam\u0131nda \u00e7al\u0131\u015f\u0131r).<br \/>\n*   <strong><code>server<\/code><\/strong>: Geli\u015ftirme sunucusu ayarlar\u0131.<br \/>\n    *   <code>port<\/code>: Sunucunun \u00e7al\u0131\u015faca\u011f\u0131 port (varsay\u0131lan: 5173).<br \/>\n    *   <code>host<\/code>: Sunucunun dinleyece\u011fi adres (varsay\u0131lan: <code>localhost<\/code>). <code>true<\/code> olarak ayarlarsan\u0131z <code>0.0.0.0<\/code> ile a\u011f \u00fczerinden eri\u015filebilir olur.<br \/>\n    *   <code>open<\/code>: Sunucu ba\u015flat\u0131ld\u0131\u011f\u0131nda taray\u0131c\u0131y\u0131 otomatik olarak a\u00e7ar (varsay\u0131lan: <code>false<\/code>).<br \/>\n    *   <code>proxy<\/code>: API isteklerini ba\u015fka bir sunucuya y\u00f6nlendirmek i\u00e7in vekil sunucu ayarlar\u0131.<br \/>\n*   <strong><code>build<\/code><\/strong>: \u00dcretim derlemesi ayarlar\u0131.<br \/>\n    *   <code>outDir<\/code>: Derlenmi\u015f \u00e7\u0131kt\u0131 dosyalar\u0131n\u0131n kaydedilece\u011fi dizin (varsay\u0131lan: <code>dist<\/code>).<br \/>\n    *   <code>sourcemap<\/code>: Kaynak haritalar\u0131 olu\u015fturup olu\u015fturmayaca\u011f\u0131 (hata ay\u0131klama i\u00e7in faydal\u0131d\u0131r).<br \/>\n    *   <code>minify<\/code>: \u00dcretim derlemesini k\u00fc\u00e7\u00fclt\u00fcp k\u00fc\u00e7\u00fcltmeyece\u011fi (varsay\u0131lan: <code>true<\/code> ve <code>esbuild<\/code> kullan\u0131r).<br \/>\n    *   <code>rollupOptions<\/code>: Rollup&#8217;\u0131n \u00f6zelle\u015ftirilmi\u015f yap\u0131land\u0131rmas\u0131.<br \/>\n*   <strong><code>css<\/code><\/strong>: CSS ile ilgili ayarlar.<br \/>\n    *   <code>preprocessorOptions<\/code>: CSS \u00f6n i\u015flemcileri (Sass, Less, Stylus) i\u00e7in se\u00e7enekler.<br \/>\n    *   <code>modules<\/code>: CSS Mod\u00fclleri i\u00e7in ayarlar.<br \/>\n*   <strong><code>envDir<\/code><\/strong>: Ortam de\u011fi\u015fkenlerinin bulundu\u011fu dizin.<\/p>\n<h4>Ortam De\u011fi\u015fkenleri Y\u00f6netimi<\/h4>\n<p>Vite, ortam de\u011fi\u015fkenlerini <code>.env<\/code> dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla y\u00f6netmeyi kolayla\u015ft\u0131r\u0131r. Bu dosyalar, farkl\u0131 geli\u015ftirme ortamlar\u0131 (geli\u015ftirme, \u00fcretim, test) i\u00e7in farkl\u0131 yap\u0131land\u0131rmalar tan\u0131mlaman\u0131za olanak tan\u0131r.<\/p>\n<p>*   <strong><code>.env<\/code><\/strong>: T\u00fcm ortamlar i\u00e7in genel de\u011fi\u015fkenler.<br \/>\n*   <strong><code>.env.development<\/code><\/strong>: Sadece geli\u015ftirme ortam\u0131 i\u00e7in de\u011fi\u015fkenler (<code>npm run dev<\/code>).<br \/>\n*   <strong><code>.env.production<\/code><\/strong>: Sadece \u00fcretim ortam\u0131 i\u00e7in de\u011fi\u015fkenler (<code>npm run build<\/code>).<\/p>\n<p>Ortam de\u011fi\u015fkenleri <code>VITE_<\/code> \u00f6neki ile ba\u015flamal\u0131d\u0131r. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-\">\/\/ .env.development\nVITE_API_URL=http:\/\/localhost:3000\/api\n\n\/\/ .env.production\nVITE_API_URL=https:\/\/api.myproductionapp.com\/api<\/code><\/pre>\n<p>Bu de\u011fi\u015fkenlere uygulaman\u0131z i\u00e7inden <code>import.meta.env<\/code> nesnesi arac\u0131l\u0131\u011f\u0131yla eri\u015febilirsiniz:<\/p>\n<pre><code class=\"language-javascript\">\/\/ App.jsx\nfunction App() {\n  const apiUrl = import.meta.env.VITE_API_URL;\n  console.log('API URL:', apiUrl);\n  \/\/ ...\n}<\/code><\/pre>\n<p>Unutmay\u0131n, <code>VITE_<\/code> \u00f6neki olmayan de\u011fi\u015fkenler istemci taraf\u0131nda kullan\u0131lamaz, sadece Vite yap\u0131land\u0131rmas\u0131nda veya Node.js taraf\u0131nda kullan\u0131labilir. Bu bir g\u00fcvenlik \u00f6nlemidir.<\/p>\n<h4>CSS \u00d6n \u0130\u015flemcileri ve CSS Mod\u00fclleri<\/h4>\n<p>Vite, Sass, Less ve Stylus gibi CSS \u00f6n i\u015flemcilerini kutudan \u00e7\u0131kt\u0131\u011f\u0131 gibi destekler. Tek yapman\u0131z gereken ilgili paketi projenize y\u00fcklemektir:<\/p>\n<pre><code class=\"language-bash\">npm install -D sass # Sass i\u00e7in\nnpm install -D less # Less i\u00e7in\nnpm install -D stylus # Stylus i\u00e7in<\/code><\/pre>\n<p>Y\u00fckledikten sonra, dosyalar\u0131n\u0131z\u0131 <code>.scss<\/code>, <code>.less<\/code> veya <code>.styl<\/code> uzant\u0131lar\u0131yla olu\u015fturabilir ve do\u011frudan React bile\u015fenlerinizden import edebilirsiniz. Vite, bunlar\u0131 otomatik olarak i\u015fleyecektir.<\/p>\n<p><strong>CSS Mod\u00fclleri<\/strong> ise bile\u015fen bazl\u0131 stil y\u00f6netimi i\u00e7in harika bir \u00e7\u00f6z\u00fcmd\u00fcr. Bile\u015fenlerinize \u00f6zel, global \u00e7ak\u0131\u015fmalar\u0131 \u00f6nleyen benzersiz s\u0131n\u0131f adlar\u0131 olu\u015fturur. Vite&#8217;ta CSS Mod\u00fcllerini kullanmak i\u00e7in stil dosyan\u0131z\u0131n ad\u0131n\u0131 <code>.module.css<\/code> (veya <code>.module.scss<\/code>, <code>.module.less<\/code> vb.) olarak de\u011fi\u015ftirmeniz yeterlidir:<\/p>\n<pre><code class=\"language-css\">\/<em> src\/components\/MyComponent\/MyComponent.module.css <\/em>\/\n.container {\n  padding: 20px;\n  background-color: #f0f0f0;\n}\n\n.title {\n  color: #333;\n  font-size: 24px;\n}<\/code><\/pre>\n<p>React bile\u015feninizde bu mod\u00fcl\u00fc \u015fu \u015fekilde kullanabilirsiniz:<\/p>\n<pre><code class=\"language-jsx\">\/\/ src\/components\/MyComponent\/MyComponent.jsx\nimport styles from '.\/MyComponent.module.css';\n\nfunction MyComponent() {\n  return (\n    <div className={styles.container}>\n      <h2 className={styles.title}>Merhaba Vite React!<\/h2>\n      <p>Bu bir CSS Mod\u00fcl\u00fc \u00f6rne\u011fidir.<\/p>\n    <\/div>\n  );\n}\n\nexport default MyComponent;<\/code><\/pre>\n<p>Vite, <code>styles<\/code> nesnesi i\u00e7inde benzersiz s\u0131n\u0131f adlar\u0131 sa\u011flayacakt\u0131r (\u00f6rne\u011fin, <code>MyComponent_container__abc12<\/code>).<\/p>\n<h3>Geli\u015ftirme Deneyiminizi \u0130yile\u015ftirme<\/h3>\n<p>Vite ve React ile geli\u015ftirme yaparken verimlili\u011finizi art\u0131racak baz\u0131 ek ara\u00e7lar ve teknikler mevcuttur.<\/p>\n<h4>Yol Takma Adlar\u0131 (Path Aliases) Kullan\u0131m\u0131<\/h4>\n<p>B\u00fcy\u00fck projelerde i\u00e7 i\u00e7e ge\u00e7mi\u015f dizin yap\u0131lar\u0131 nedeniyle <code>..\/..\/components\/Button<\/code> gibi uzun g\u00f6receli yollar yazmak zorunda kalabilirsiniz. Yol takma adlar\u0131, bu t\u00fcr yollar\u0131 <code>@components\/Button<\/code> gibi daha k\u0131sa ve okunakl\u0131 hale getirmenizi sa\u011flar.<\/p>\n<p><code>vite.config.js<\/code> dosyan\u0131zda <code>resolve.alias<\/code> b\u00f6l\u00fcm\u00fcn\u00fc kullanarak takma adlar\u0131 tan\u0131mlayabilirsiniz:<\/p>\n<pre><code class=\"language-javascript\">import { defineConfig } from 'vite';\nimport react from '@vitejs\/plugin-react';\nimport path from 'path'; \/\/ path mod\u00fcl\u00fcn\u00fc import etmeyi unutmay\u0131n\n\n\/\/ https:\/\/vitejs.dev\/config\/\nexport default defineConfig({\n  plugins: [react()],\n  resolve: {\n    alias: {\n      '@': path.resolve(__dirname, '.\/src'),\n      '@components': path.resolve(__dirname, '.\/src\/components'),\n      '@utils': path.resolve(__dirname, '.\/src\/utils'),\n    },\n  },\n});<\/code><\/pre>\n<p>Bu takma adlar\u0131 hem Vite&#8217;\u0131n kendisi hem de IDE&#8217;nizin (VS Code gibi) anlayabilmesi i\u00e7in <code>jsconfig.json<\/code> (JavaScript i\u00e7in) veya <code>tsconfig.json<\/code> (TypeScript i\u00e7in) dosyas\u0131na da eklemeniz gerekir:<\/p>\n<pre><code class=\"language-json\">\/\/ jsconfig.json (projenizin k\u00f6k dizininde)\n{\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@\/<em>\": [\".\/src\/<\/em>\"],\n      \"@components\/<em>\": [\".\/src\/components\/<\/em>\"],\n      \"@utils\/<em>\": [\".\/src\/utils\/<\/em>\"]\n    }\n  },\n  \"include\": [\"src\"]\n}<\/code><\/pre>\n<p>Art\u0131k bile\u015fenlerinizde bu takma adlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-jsx\">\/\/ src\/App.jsx\nimport Button from '@components\/Button';\nimport { formatDate } from '@utils\/dateHelpers';\n\nfunction App() {\n  \/\/ ...\n}<\/code><\/pre>\n<h4>Linting ve Bi\u00e7imlendirme (ESLint, Prettier)<\/h4>\n<p>Kod kalitesini, tutarl\u0131l\u0131\u011f\u0131n\u0131 ve okunabilirli\u011fini sa\u011flamak i\u00e7in linting (ESLint) ve bi\u00e7imlendirme (Prettier) ara\u00e7lar\u0131n\u0131 kullanmak \u00f6nemlidir. Vite \u015fablonlar\u0131 genellikle ESLint ile birlikte gelir.<\/p>\n<p>*   <strong>ESLint:<\/strong> Kodunuzdaki potansiyel hatalar\u0131 ve stil ihlallerini tespit eder. <code>package.json<\/code> dosyas\u0131nda genellikle bir <code>lint<\/code> script&#8217;i bulunur:<\/p>\n<pre><code class=\"language-json\">\"scripts\": {\n      \"lint\": \"eslint . --ext js,jsx,ts,tsx --report-unused-disable-directives --max-warnings 0\"\n    }<\/code><\/pre>\n<p>    <code>npm run lint<\/code> komutuyla kodunuzu kontrol edebilirsiniz.<br \/>\n*   <strong>Prettier:<\/strong> Kodunuzu otomatik olarak belirli bir stil k\u0131lavuzuna g\u00f6re bi\u00e7imlendirir. ESLint ile Prettier&#8217;\u0131 entegre etmek i\u00e7in baz\u0131 ek paketler kurman\u0131z ve yap\u0131land\u0131rman\u0131z gerekebilir (<code>eslint-config-prettier<\/code>, <code>eslint-plugin-prettier<\/code>).<\/p>\n<p>Bu ara\u00e7lar\u0131 IDE&#8217;nizle (\u00f6zellikle VS Code) entegre ederek, dosyalar\u0131 kaydetti\u011finizde otomatik olarak kodunuzu bi\u00e7imlendirmesini ve hatalar\u0131 g\u00f6stermesini sa\u011flayabilirsiniz.<\/p>\n<h4>Test Ortam\u0131 Kurulumu (Vitest)<\/h4>\n<p>Bile\u015fenlerinizi ve yard\u0131mc\u0131 fonksiyonlar\u0131n\u0131z\u0131 test etmek, uygulaman\u0131z\u0131n g\u00fcvenilirli\u011fini sa\u011flamak i\u00e7in kritik \u00f6neme sahiptir. Vite ekosisteminde, Vitest pop\u00fcler bir test \u00e7er\u00e7evesidir. Vitest, Vite&#8217;\u0131n yap\u0131land\u0131rmas\u0131n\u0131 ve h\u0131z\u0131n\u0131 devrald\u0131\u011f\u0131 i\u00e7in olduk\u00e7a h\u0131zl\u0131 ve entegre bir test deneyimi sunar.<\/p>\n<p>Vitest&#8217;i kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">npm install -D vitest @testing-library\/react @testing-library\/jest-dom jsdom<\/code><\/pre>\n<p>*   <code>vitest<\/code>: Test \u00e7er\u00e7evesi.<br \/>\n*   <code>@testing-library\/react<\/code>: React bile\u015fenlerini test etmek i\u00e7in yard\u0131mc\u0131 k\u00fct\u00fcphane.<br \/>\n*   <code>@testing-library\/jest-dom<\/code>: Jest DOM e\u015fle\u015ftiricileri (matchers) sa\u011flar.<br \/>\n*   <code>jsdom<\/code>: Taray\u0131c\u0131 ortam\u0131n\u0131 sim\u00fcle etmek i\u00e7in kullan\u0131l\u0131r (Node.js ortam\u0131nda React bile\u015fenlerini \u00e7al\u0131\u015ft\u0131rmak i\u00e7in).<\/p>\n<p><code>package.json<\/code> dosyan\u0131za bir test script&#8217;i ekleyin:<\/p>\n<pre><code class=\"language-json\">\"scripts\": {\n  \"test\": \"vitest\"\n}<\/code><\/pre>\n<p><code>vite.config.js<\/code> dosyan\u0131zda Vitest i\u00e7in baz\u0131 ayarlar yapman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-javascript\">import { defineConfig } from 'vite';\nimport react from '@vitejs\/plugin-react';\n\nexport default defineConfig({\n  plugins: [react()],\n  test: {\n    globals: true, \/\/ global API'leri kullanmak i\u00e7in (\u00f6rne\u011fin describe, it)\n    environment: 'jsdom', \/\/ Taray\u0131c\u0131 ortam\u0131n\u0131 sim\u00fcle etmek i\u00e7in\n    setupFiles: '.\/src\/setupTests.js', \/\/ Testler ba\u015flamadan \u00f6nce \u00e7al\u0131\u015facak dosyalar\n  },\n});<\/code><\/pre>\n<p><code>src\/setupTests.js<\/code> dosyas\u0131n\u0131 olu\u015fturun (genellikle <code>@testing-library\/jest-dom<\/code>&#8216;u import etmek i\u00e7in):<\/p>\n<pre><code class=\"language-javascript\">\/\/ src\/setupTests.js\nimport '@testing-library\/jest-dom';<\/code><\/pre>\n<p>\u015eimdi bir test dosyas\u0131 olu\u015fturabilirsiniz (\u00f6rne\u011fin, <code>src\/App.test.jsx<\/code>):<\/p>\n<pre><code class=\"language-jsx\">\/\/ src\/App.test.jsx\nimport { render, screen } from '@testing-library\/react';\nimport App from '.\/App';\n\ndescribe('App', () => {\n  it('renders Vite logo', () => {\n    render(<App \/>);\n    expect(screen.getByAltText('Vite logo')).toBeInTheDocument();\n  });\n\n  it('renders React logo', () => {\n    render(<App \/>);\n    expect(screen.getByAltText('React logo')).toBeInTheDocument();\n  });\n});<\/code><\/pre>\n<p>Testleri \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>npm run test<\/code> komutunu kullan\u0131n. Vitest, h\u0131zl\u0131 bir \u015fekilde testlerinizi \u00e7al\u0131\u015ft\u0131racak ve sonu\u00e7lar\u0131 terminalde g\u00f6sterecektir.<\/p>\n<h3>\u00dcretim Ortam\u0131na Da\u011f\u0131t\u0131m<\/h3>\n<p>Uygulaman\u0131z\u0131n geli\u015ftirme s\u00fcreci tamamland\u0131\u011f\u0131nda, onu \u00fcretim ortam\u0131na da\u011f\u0131tmaya haz\u0131r hale getirmelisiniz. Vite, uygulaman\u0131z\u0131 optimize edilmi\u015f bir \u015fekilde derlemek i\u00e7in Rollup&#8217;\u0131 kullan\u0131r.<\/p>\n<h4>\u00dcretim Derlemesi Olu\u015fturma<\/h4>\n<p>Uygulaman\u0131z\u0131n \u00fcretim derlemesini olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">npm run build<\/code><\/pre>\n<p>Bu komut, <code>package.json<\/code> dosyas\u0131ndaki <code>build<\/code> script&#8217;ini \u00e7al\u0131\u015ft\u0131r\u0131r (<code>vite build<\/code>). Vite, uygulaman\u0131z\u0131 Rollup ile optimize edecek, t\u00fcm JavaScript, CSS ve di\u011fer varl\u0131klar\u0131 k\u00fc\u00e7\u00fcltecek, birle\u015ftirecek ve s\u0131k\u0131\u015ft\u0131racakt\u0131r. Bu i\u015flem tamamland\u0131\u011f\u0131nda, projenizin k\u00f6k dizininde varsay\u0131lan olarak <code>dist<\/code> ad\u0131nda bir klas\u00f6r olu\u015facakt\u0131r.<\/p>\n<p><code>dist<\/code> klas\u00f6r\u00fc, uygulaman\u0131z\u0131n t\u00fcm statik dosyalar\u0131n\u0131 (HTML, JavaScript, CSS, resimler vb.) i\u00e7erir. Bu dosyalar, herhangi bir statik dosya sunucusuna (\u00f6rne\u011fin Nginx, Apache) veya bir bulut bar\u0131nd\u0131rma hizmetine (Netlify, Vercel, GitHub Pages, Firebase Hosting) y\u00fcklenebilir.<\/p>\n<h4>Yerel Olarak \u00d6nizleme<\/h4>\n<p>\u00dcretim derlemesini da\u011f\u0131tmadan \u00f6nce yerel olarak nas\u0131l g\u00f6r\u00fcnd\u00fc\u011f\u00fcn\u00fc ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol etmek isteyebilirsiniz. Vite, bu ama\u00e7la bir \u00f6nizleme sunucusu sa\u011flar:<\/p>\n<pre><code class=\"language-bash\">npm run preview<\/code><\/pre>\n<p>Bu komut, <code>dist<\/code> klas\u00f6r\u00fcndeki derlenmi\u015f dosyalar\u0131 sunan basit bir yerel sunucu ba\u015flat\u0131r. Taray\u0131c\u0131n\u0131zda verilen URL&#8217;ye giderek uygulaman\u0131z\u0131n \u00fcretim derlemesini test edebilirsiniz. Bu, da\u011f\u0131t\u0131mdan \u00f6nceki son kontrol i\u00e7in harika bir yoldur.<\/p>\n<h4>Da\u011f\u0131t\u0131m Stratejileri<\/h4>\n<p>Vite ile derlenen React uygulamalar\u0131, statik web siteleri olarak da\u011f\u0131t\u0131l\u0131r. Bu, onlar\u0131 bir\u00e7ok farkl\u0131 platforma kolayca da\u011f\u0131tabilece\u011finiz anlam\u0131na gelir:<\/p>\n<p>*   <strong>Netlify, Vercel:<\/strong> Bu platformlar, Git entegrasyonu sayesinde kodunuzu otomatik olarak derleyip da\u011f\u0131tman\u0131z\u0131 sa\u011flar. Sadece projenizi Git deposuna y\u00fcklemeniz ve <code>build<\/code> komutunu (<code>npm run build<\/code>) belirtmeniz yeterlidir.<br \/>\n*   <strong>GitHub Pages:<\/strong> E\u011fer projenizi GitHub&#8217;da bar\u0131nd\u0131r\u0131yorsan\u0131z, GitHub Pages arac\u0131l\u0131\u011f\u0131yla \u00fccretsiz olarak da\u011f\u0131tabilirsiniz. Genellikle <code>vite.config.js<\/code> dosyas\u0131nda <code>base: '\/repo-ad\u0131\/'<\/code> ayar\u0131n\u0131 yapman\u0131z ve <code>dist<\/code> klas\u00f6r\u00fcn\u00fc <code>gh-pages<\/code> dal\u0131na g\u00f6ndermeniz gerekir.<br \/>\n*   <strong>Firebase Hosting:<\/strong> Google Firebase&#8217;in hosting hizmeti de statik siteler i\u00e7in pop\u00fcler bir se\u00e7enektir.<br \/>\n*   <strong>Herhangi Bir Statik Web Sunucusu:<\/strong> Nginx veya Apache gibi bir web sunucusu kullan\u0131yorsan\u0131z, <code>dist<\/code> klas\u00f6r\u00fcn\u00fcn i\u00e7eri\u011fini sunucunuzun k\u00f6k dizinine kopyalaman\u0131z yeterlidir.<\/p>\n<p>Da\u011f\u0131t\u0131m s\u00fcreci, se\u00e7ti\u011finiz platforma g\u00f6re de\u011fi\u015fiklik g\u00f6sterebilir, ancak temel olarak <code>npm run build<\/code> komutuyla olu\u015fturulan <code>dist<\/code> klas\u00f6r\u00fcn\u00fc hedef platforma y\u00fcklemeyi i\u00e7erir.<\/p>\n<h3>Vite ve React ile \u0130leri Seviye Konular<\/h3>\n<p>Vite ve React, h\u0131zl\u0131 geli\u015ftirme i\u00e7in m\u00fckemmel bir kombinasyon sunsa da, daha karma\u015f\u0131k ihtiya\u00e7lar i\u00e7in de \u00e7e\u015fitli ileri seviye \u00f6zellikler ve eklentiler mevcuttur.<\/p>\n<h4>SSR (Server-Side Rendering) ve SSG (Static Site Generation)<\/h4>\n<p>Tek sayfa uygulamalar\u0131 (SPA) SEO ve ilk y\u00fckleme performans\u0131 a\u00e7\u0131s\u0131ndan baz\u0131 dezavantajlara sahip olabilir. Bu sorunlar\u0131 \u00e7\u00f6zmek i\u00e7in SSR (Sunucu Tarafl\u0131 Olu\u015fturma) veya SSG (Statik Site Olu\u015fturma) teknikleri kullan\u0131l\u0131r.<\/p>\n<p>*   <strong>SSR:<\/strong> Uygulaman\u0131z\u0131n HTML&#8217;ini sunucu taraf\u0131nda olu\u015fturup taray\u0131c\u0131ya g\u00f6nderme i\u015flemidir. Bu, ilk y\u00fcklemede daha h\u0131zl\u0131 bir sayfa g\u00f6sterimi ve daha iyi SEO sa\u011flar. Vite, SSR i\u00e7in deneysel deste\u011fe sahiptir ve <code>vite-plugin-ssr<\/code> gibi eklentilerle React i\u00e7in SSR uygulamalar\u0131 geli\u015ftirmek m\u00fcmk\u00fcnd\u00fcr.<br \/>\n*   <strong>SSG:<\/strong> Uygulaman\u0131z\u0131n t\u00fcm sayfalar\u0131n\u0131 derleme zaman\u0131nda statik HTML dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcrme i\u015flemidir. Bu dosyalar CDN&#8217;lerden \u00e7ok h\u0131zl\u0131 bir \u015fekilde sunulabilir ve m\u00fckemmel SEO sa\u011flar. Vite, statik site olu\u015fturucular\u0131yla (\u00f6rne\u011fin Astro, Eleventy) veya \u00f6zel script&#8217;lerle SSG i\u00e7in kullan\u0131labilir.<\/p>\n<p>Bu konular, Vite&#8217;\u0131n esnek yap\u0131s\u0131 sayesinde daha karma\u015f\u0131k uygulamalar\u0131n ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in geni\u015fletilebilir oldu\u011funu g\u00f6sterir.<\/p>\n<h4>Micro-Frontends<\/h4>\n<p>B\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalar, genellikle birden fazla ba\u011f\u0131ms\u0131z b\u00f6l\u00fcmden olu\u015fur ve bu b\u00f6l\u00fcmler farkl\u0131 ekipler taraf\u0131ndan geli\u015ftirilebilir. Micro-frontend mimarileri, bu b\u00f6l\u00fcmleri ba\u011f\u0131ms\u0131z olarak da\u011f\u0131t\u0131labilir ve y\u00f6netilebilir k\u00fc\u00e7\u00fck uygulamalara ay\u0131rmay\u0131 hedefler. Vite&#8217;\u0131n h\u0131zl\u0131 derleme ve ES Mod\u00fcl\u00fc tabanl\u0131 yap\u0131s\u0131, micro-frontend&#8217;ler i\u00e7in ideal bir temel olu\u015fturabilir. Her bir micro-frontend&#8217;i ayr\u0131 bir Vite projesi olarak geli\u015ftirebilir ve daha sonra bunlar\u0131 bir ana uygulama i\u00e7inde birle\u015ftirebilirsiniz. <code>vite-plugin-federation<\/code> gibi eklentiler, Webpack&#8217;in Module Federation \u00f6zelli\u011fine benzer i\u015flevsellik sunarak micro-frontend entegrasyonunu kolayla\u015ft\u0131rabilir.<\/p>\n<h4>Web Workers ve Service Workers<\/h4>\n<p>*   <strong>Web Workers:<\/strong> Yo\u011fun i\u015flem gerektiren g\u00f6revleri ana i\u015f par\u00e7ac\u0131\u011f\u0131ndan ay\u0131rarak kullan\u0131c\u0131 aray\u00fcz\u00fcn\u00fcn donmas\u0131n\u0131 engeller. Vite, Web Workers&#8217;\u0131 kolayca kullanman\u0131za olanak tan\u0131r. Worker dosyan\u0131z\u0131 import ederken \u00f6zel bir sorgu (<code>?worker<\/code>) eklemeniz yeterlidir: <code>import MyWorker from '.\/my.worker?worker';<\/code>.<br \/>\n*   <strong>Service Workers:<\/strong> \u00c7evrimd\u0131\u015f\u0131 yetenekler, \u00f6nbelle\u011fe alma ve anl\u0131k bildirimler gibi \u00f6zellikler sunar. Vite, Service Workers&#8217;\u0131 derleme s\u00fcrecine dahil etmek i\u00e7in eklentilerle (\u00f6rne\u011fin <code>vite-plugin-pwa<\/code>) entegre edilebilir, b\u00f6ylece uygulaman\u0131z\u0131 bir PWA&#8217;ya (Progressive Web App) d\u00f6n\u00fc\u015ft\u00fcrebilirsiniz.<\/p>\n<p>Bu ileri seviye konular, Vite&#8217;\u0131n sadece basit React projeleri i\u00e7in de\u011fil, ayn\u0131 zamanda modern web&#8217;in karma\u015f\u0131k ve performans odakl\u0131 gereksinimleri i\u00e7in de g\u00fc\u00e7l\u00fc bir ara\u00e7 oldu\u011funu g\u00f6stermektedir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Vite, modern web geli\u015ftirme d\u00fcnyas\u0131na getirdi\u011fi yenilik\u00e7i yakla\u015f\u0131mla React projeleri i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir. ES Mod\u00fcllerini temel alan mimarisi sayesinde, geleneksel paketleyicilerin kar\u015f\u0131la\u015ft\u0131\u011f\u0131 yava\u015f ba\u015flang\u0131\u00e7 s\u00fcreleri ve HMR gecikmeleri gibi sorunlar\u0131 ortadan kald\u0131rarak geli\u015ftiricilere rakipsiz bir h\u0131z ve verimlilik sunar.<\/p>\n<p>Bu makalede, React projenizi Vite ile ba\u015ftan sona nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, temel yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131, ortam de\u011fi\u015fkenlerini, CSS \u00f6n i\u015flemcilerini ve mod\u00fcllerini nas\u0131l y\u00f6netece\u011finizi detayl\u0131 bir \u015fekilde inceledik. Ayr\u0131ca, geli\u015ftirme deneyiminizi iyile\u015ftirecek yol takma adlar\u0131, linting, bi\u00e7imlendirme ve test ortam\u0131 kurulumu gibi pratik ipu\u00e7lar\u0131n\u0131 da ele ald\u0131k. Son olarak, uygulaman\u0131z\u0131 \u00fcretim ortam\u0131na nas\u0131l derleyece\u011finizi ve da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 g\u00f6sterdikten sonra, SSR, SSG ve micro-frontends gibi ileri seviye konulara de\u011finerek Vite&#8217;\u0131n geni\u015f potansiyelini ortaya koyduk.<\/p>\n<p>Vite&#8217;\u0131n sundu\u011fu h\u0131z, kolay yap\u0131land\u0131rma ve geni\u015fletilebilirlik, onu React geli\u015ftiricileri i\u00e7in a\u00e7\u0131k ara en iyi se\u00e7eneklerden biri yapmaktad\u0131r. \u0130ster k\u00fc\u00e7\u00fck bir proje ister b\u00fcy\u00fck bir kurumsal uygulama geli\u015ftiriyor olun, Vite geli\u015ftirme s\u00fcre\u00e7lerinizi h\u0131zland\u0131racak, geli\u015ftirici mutlulu\u011funuzu art\u0131racak ve sonu\u00e7 olarak daha kaliteli uygulamalar olu\u015fturman\u0131za yard\u0131mc\u0131 olacakt\u0131r. Art\u0131k geleneksel ara\u00e7lar\u0131n k\u0131s\u0131tlamalar\u0131na tak\u0131lmadan, React projelerinizi \u0131\u015f\u0131k h\u0131z\u0131nda geli\u015ftirmeye haz\u0131rs\u0131n\u0131z. Gelecek projelerinizde Vite&#8217;\u0131 denemekten \u00e7ekinmeyin ve modern web geli\u015ftirmenin keyfini \u00e7\u0131kar\u0131n!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi\nModern web geli\u015ftirme d\u00fcnyas\u0131nda h\u0131z, verimlilik ve kullan\u0131c\u0131 deneyimi he","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[128],"tags":[],"class_list":{"0":"post-39042","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-react","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi Modern web geli\u015ftirme d\u00fcnyas\u0131nda h\u0131z, verimlilik ve kullan\u0131c\u0131 deneyimi he\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-13T04:40:51+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi\",\"datePublished\":\"2026-02-13T04:40:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/\"},\"wordCount\":3966,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"React\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/\",\"name\":\"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-13T04:40:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi","og_description":"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi Modern web geli\u015ftirme d\u00fcnyas\u0131nda h\u0131z, verimlilik ve kullan\u0131c\u0131 deneyimi he","og_url":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-13T04:40:51+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"23 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi","datePublished":"2026-02-13T04:40:51+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/"},"wordCount":3966,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["React"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/","name":"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-13T04:40:51+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/react-projelerini-vite-ile-hizli-gelistirme-icin-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"React Projelerini Vite ile H\u0131zl\u0131 Geli\u015ftirme \u0130\u00e7in Kurulum Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=39042"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39042\/revisions"}],"predecessor-version":[{"id":39043,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/39042\/revisions\/39043"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=39042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=39042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=39042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}