ServBay ile Nuxt.js Projesi Oluşturma ve Çalıştırma
Nuxt.js Nedir?
Nuxt.js, popüler Vue.js kütüphanesine dayalı açık kaynaklı bir framework olup, modern ve yüksek performanslı web uygulamaları oluşturmak için özel olarak tasarlanmıştır. Nuxt.js, birçok karmaşık yapılandırmayı soyutlayarak geliştiricilerin iş mantığına odaklanmasını kolaylaştırır. Özellikle Sunucu Tarafı Render (SSR) konusunda çok yeteneklidir, aynı zamanda güçlü bir Statik Site Jenerasyonu (SSG) desteği de sunar. Bu da Nuxt.js’i içerik odaklı, SEO dostu web siteleri ve uygulamalar geliştirmek için ideal bir seçenek haline getirir.
Nuxt.js’in Temel Özellikleri ve Avantajları
- Sunucu Tarafı Render (SSR): Vue bileşenlerinizi sunucu tarafında önceden render ederek ilk yükleme süresini ciddi şekilde azaltır, kullanıcı deneyimini iyileştirir ve arama motorlarının site içeriğini daha verimli şekilde almasını sağlar; bu da SEO için büyük avantaj sunar.
- Statik Site Jenerasyonu (SSG): Derleme sırasında tamamen statik HTML dosyaları oluşturulur. Bu yöntem üstün performans sağlar, dağıtımı oldukça basittir ve canlı bir sunucu ihtiyacı duymadan çalışır, böylece özellikle değişimi az olan blog veya dokümantasyon siteleri için uygundur.
- Otomatik Kod Bölme: Nuxt.js, rotalara göre JavaScript kodunu otomatik olarak böler; kullanıcı bir sayfa ziyaret ettiğinde, sadece gerekli olan kod yüklenir. Bu da uygulama performansını gözle görülür şekilde artırır.
- Dosya Sistemi Tabanlı Yönlendirme: Yönlendirme yapısını
pages
klasörüne.vue
dosyaları ekleyerek otomatik biçimde oluşturabilirsiniz; bu yöntemle routing işlemleri büyük ölçüde kolaylaşır. - Modüler Yapı: Zengin eklenti ekosistemi sayesinde Axios, PWA desteği veya içerik yönetimi gibi birçok fonksiyonu ve üçüncü parti servisi kolayca entegre edebilirsiniz.
- Konvansiyona Dayalı Yapı: Belirli klasör yapısı ve isimlendirme kurallarını takip ederek karmaşık konfigürasyon gereksinimini en aza indirir.
- Geliştirme Deneyimi Optimizasyonu: Sıcak modül değişimi (HMR), hata raporlama gibi fonksiyonlar ile geliştirme sürecini daha verimli ve keyifli hale getirir.
Tüm bu özellikler sayesinde Nuxt.js ile karmaşık, yüksek performanslı ve SEO dostu web uygulamaları geliştirmek çok daha kolay ve etkilidir.
ServBay’de Nuxt.js Projesini Kurma ve Çalıştırma
Bu rehberde, ServBay’in sunduğu güçlü yerel geliştirme ortamını, özellikle Node.js paketi ve site yönetimi fonksiyonlarını kullanarak bir Nuxt.js projesinin nasıl kurulacağını, yapılandırılacağını ve çalıştırılacağını inceleyeceğiz. ServBay’de geliştirme modu (ters proxy ile) ve üretim modu (statik dosya servisi ile) kurulumları aşama aşama anlatılacaktır.
Ön Gereksinimler
Başlamadan önce lütfen aşağıdaki gereksinimlere sahip olduğunuzdan emin olun:
- ServBay uygulamasını başarıyla yüklemiş olmanız gerekir.
- ServBay’de Node.js paketinin kurulu ve etkin olması gerekir. Bunu ServBay kontrol panelindeki “Paketler” sekmesinden kontrol edebilir veya kurabilirsiniz.
- Node.js, npm (veya Yarn/pnpm) ve temel terminal komutlarına aşinalığınız olmalı.
- (Tavsiye edilir) VS Code gibi bir kod editörü kurulu olmalı.
Nuxt.js Projesi Oluşturma
Nuxt.js projesini hızlıca başlatmak için create-nuxt-app
scaffolding aracını kullanacağız.
Terminali Açın ve ServBay Web Kök Dizini’ne Geçin
ServBay’in varsayılan web kök dizini
/Applications/ServBay/www
’dür. Yerel geliştirme projeleriniz için burası idealdir. Terminal uygulamasını açın ve aşağıdaki komutu girerek bu dizine geçin:bashcd /Applications/ServBay/www
1Yeni Nuxt.js Projesi Başlatın
npx create-nuxt-app
komutunu kullanarakservbay-nuxt-app
adında yeni bir proje başlatın.npx
, npm 5.2+ ile gelen bir araçtır; paketleri global kurmaya gerek kalmadan komutları çalıştırmanıza imkan verir.bashnpx create-nuxt-app servbay-nuxt-app
1Komutu girdikten sonra terminalde çıkan yönergeleri takip edin. İhtiyacınıza göre seçenekleri düzenleyebilirsiniz. Örnek bir kurulum diyaloğu aşağıdaki gibidir:
bash? Project name: servbay-nuxt-app ? Programming language: JavaScript ? Package manager: Npm # Paket yöneticinizi seçin, Npm veya Yarn önerilir ? UI framework: None # Dilerseniz bir UI framework seçin ? Nuxt.js modules: Axios # Gerekli modülleri seçin ? Linting tools: ESLint # Linting aracı seçin ? Testing framework: None # Test çerçevesi seçin ? Rendering mode: Universal (SSR / SSG) # Universal hem SSR hem SSG desteği sunar ? Deployment target: Server (Node.js hosting) # Yerel geliştirme/Node.js sunucu için Server seçin ? Development tools: jsconfig.json (Recommended for VS Code) # İhtiyaca göre dev araçlarından birini seçin
1
2
3
4
5
6
7
8
9
10Proje Bağımlılıklarını Kurun
Yeni oluşturulan proje klasörüne geçin ve seçtiğiniz paket yöneticisi ile bağımlılıkları kurun:
bashcd servbay-nuxt-app npm install # Eğer Yarn kullanıyorsanız: yarn install # Ya da pnpm kullanıyorsanız: pnpm install
1
2
3
4Bağımlılıkların kurulmasını bekleyin.
Proje Ana Sayfa İçeriğini Düzenleme
Doğru çalıştığını test edebilmek için ana sayfa içeriğimizi basit bir şekilde güncelleyeceğiz.
pages/index.vue
Dosyasını AçınKod editörünüz ile proje klasörü altındaki
pages/index.vue
dosyasını açın.Dosya İçeriğini Değiştirin
Dosyanın içeriğini aşağıdaki şekilde düzenleyin; böylece ana sayfa üzerinde "Hello ServBay!" metni gözükür:
html<template> <div> <h1>Hello ServBay!</h1> </div> </template> <script> export default { name: 'IndexPage' } </script> <style scoped> div { text-align: center; margin-top: 50px; font-family: sans-serif; } h1 { color: #333; } </style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22Burada style etiketine
scoped
özelliği eklenmiştir; bu sayede stil yalnızca bu bileşene uygulanır ve output, daha şık gözükmesi için biraz iyileştirilmiştir.
ServBay’de Geliştirme Modunu Çalıştırma
Nuxt.js geliştirme sunucusu normalde belirli bir yerel portta çalışır. ServBay’in özelleştirilebilir alan adı, SSL sertifikası ve birleşik 80/443 portlarını kullanabilmek için ServBay’in web sitesi özelliği ile ters proxy yapılandırması yapacağız.
Nuxt.js Geliştirme Sunucusunu Başlatın
Proje ana dizininden aşağıdaki komut ile Nuxt.js geliştirme sunucusunu başlatabilirsiniz. Sunucunun çalışacağı portu
8585
olarak belirliyoruz; siz farklı, boş bir port kullanabilirsiniz.bashcd /Applications/ServBay/www/servbay-nuxt-app npm run dev -- --port 8585 # Yarn için: yarn dev --port 8585 # pnpm için: pnpm run dev --port 8585
1
2
3
4Sunucu başlatıldığında, genellikle
http://localhost:8585
adresinde çalışıyor olarak görünecektir. Sunucunun sürekli çalışabilmesi için terminal penceresini açık bırakın.ServBay Sitesini Yapılandırın (Ters Proxy)
ServBay kontrol panelini açın ve ‘Siteler’ sekmesine geçin. Sol alt köşedeki
+
butonuna tıklayarak yeni bir web sitesi ekleyin:- Ad (Name): Kolay tanınacak bir isim, örneğin
Nuxt.js Dev Site (Proxy)
. - Alan Adı (Domain): Tarayıcıda erişmek istediğiniz bir özel alan adı, örneğin
nuxt-dev.servbay.demo
..servbay.demo
uzantısı ServBay markasıyla uyumlu iyi bir tercihtir. - Web Sitesi Türü (Website Type):
Ters Proxy (Reverse Proxy)
seçin. - IP Adresi (IP Address):
127.0.0.1
girin (localhost). - Port (Port): Nuxt.js geliştirme sunucusunda kullandığınız port numarasını girin, örneğin
8585
.
Ayarları tamamladıktan sonra “Ekle” veya “Kaydet” düğmesine tıklayın. ServBay yapılandırmayı otomatik olarak güncelleyip etkinleştirir.
ServBay’de Node.js geliştirme sitesi eklemeye dair daha detaylı bilgi için Node.js Geliştirme Sitesi Ekleme rehberine göz atabilirsiniz.
- Ad (Name): Kolay tanınacak bir isim, örneğin
Geliştirme Modu Sitesini Ziyaret Edin
Tarayıcınızda, ServBay’de ayarladığınız alan adını girerek siteye ulaşabilirsiniz; örneğin
https://nuxt-dev.servbay.demo
.ServBay’in ters proxy yeteneği sayesinde, geliştirme sunucunuzu doğrudan özelleştirilmiş alan adı ve HTTPS portu ile görüntüleyebilirsiniz. ServBay, SSL sertifikasını (ServBay User CA tarafından imzalanmış) otomatik şekilde oluşturup yapılandırır; sisteminizde bu CA’ya güven verildiğinden emin olun. Geliştirme ortamında HTTPS kullanımı, canlı sunucu ortamını benzetmek, Service Worker veya güvenliğe ihtiyaç duyan fonksiyonları test etmek için oldukça değerlidir.
Üretim Sürümünü Derleme ve Çalıştırma
Nuxt.js projesini tamamlayıp yayına almaya veya yerel ortamda üretim ön izlemesi yapmaya karar verdiğinizde, projenin üretim sürümünü derlemeniz gerekir. Universal modda çalışıp statik site üretmek istiyorsanız genellikle nuxt generate
(veya npm run export
) komutuyla bunu yapabilirsiniz.
Üretim Sürümünü Derleyin ve Statik Dosyaları Oluşturun
Proje ana dizininde aşağıdaki komutları çalıştırın.
npm run build
ile kodlarınızı üretime uygun şekilde derleyin,npm run export
ile tüm rotaların statik HTML dosyaları olarak çıktılarını alın (varsayılan olarakdist
klasörüne yazılır).bashcd /Applications/ServBay/www/servbay-nuxt-app npm run build npm run export # Yarn ile: yarn build && yarn export # pnpm ile: pnpm build && pnpm run export
1
2
3
4
5İşlem tamamlandığında, proje klasöründe
dist
isimli bir klasör oluşacak ve tüm statik dosyalar burada yer alacaktır.ServBay Sitesini Yapılandırın (Statik Site Servisi)
ServBay kontrol panelini açın ve ‘Siteler’ sekmesine geçin. Sol alt köşedeki
+
butonuna tıklayarak yeni bir site ekleyin:- Ad (Name): Kolay tanınacak bir isim, örneğin
Nuxt.js Prod Site (Static)
. - Alan Adı (Domain): Üretim sürümünü ziyaret etmek için istediğiniz özel alan adı, örneğin
nuxt-prod.servbay.demo
. - Web Sitesi Türü (Website Type):
Statik (Static)
seçin. - Web Sitesi Kök Dizini (Website Root): Nuxt.js’in oluşturduğu statik dosyaların bulunduğu dizin, örneğin
/Applications/ServBay/www/servbay-nuxt-app/dist
.
Ayarları tamamladıktan sonra “Ekle” veya “Kaydet” düğmesine basın. ServBay yapılandırmayı hemen aktif eder.
- Ad (Name): Kolay tanınacak bir isim, örneğin
Üretim Modu Sitesini Ziyaret Edin
Tarayıcınızdan, üretim sürümü için ayarladığınız alan adına gidin: örneğin
https://nuxt-prod.servbay.demo
.ServBay’in yüksek performanslı web sunucusu (yapılandırmanıza göre Caddy veya Nginx)
dist
klasöründe yer alan statik içerikleri doğrudan sunacaktır. Bu yöntem statik içerik sunmak için optimum hız ve verimlilik sağlar. Ayrıca ServBay ile ücretsiz SSL sertifikası ve özel alan adı desteğine de sahip olursunuz.
Özet
ServBay ile Nuxt.js projelerinizi yerel geliştirme ve ön izleme ortamlarını kolayca yönetebilirsiniz. Node.js paketini kullanarak geliştirme sunucunuzu ServBay ile başlatabilir, web sitesi özellikleri ile ters proxy yapılandırıp özel alan adı ve HTTPS ile test edebilirsiniz. Geliştirme bittikten sonra projeyi derleyip statik dosyalarını üretebilir; ServBay’in statik site servis fonksiyonu üzerinden yüksek performanslı yerel ön izlemenizi gerçekleştirebilirsiniz. Bu iş akışı, ServBay’in kolaylık ve gücünden maksimum faydalanarak, ön uç projelerinizin yerel geliştirme ve test süreçlerini ciddi şekilde basitleştirir. Umarız bu rehber, ServBay ile Nuxt.js geliştirme süreçlerinizde size etkin bir yol gösterici olur!