Tüm yazılar
mühendislikNext.js

Bir Web Sitesini Kapatılabilir Modüllere Dönüştürmek

preunec Ekibi1 Temmuz 20261 dk okuma
Paylaş

Okuduğunuz bu web sitesi modüllerden oluşuyor. Şu an okuduğunuz blog, LiDAR laboratuvarı, kariyer bölümü, hatta iletişim formu — her biri, site çalışırken yeniden derleme veya dağıtım olmadan açılıp kapatılabilen bağımsız bir birim.

Neden uğraşalım?

Çünkü web siteleri asla bitmez. Bölümler yarı hazır yayına girer, kampanyalar biter, deneyler başarısız olur. Alışılmış cevap bir feature branch ve deployment'tır; bizimki bir anahtar. Bu kod tabanını başka bir site için yeniden kullandığımızda da aynı katalogdan başlayıp farklı bir alt kümeyi etkinleştiriyoruz.

Bir modülün anatomisi

Her modül küçük bir manifest ile tanımlanır: bir kimlik, sahip olduğu rotalar ve navigasyon girdisi. Geri kalan her şeyi bu tek kaynaktan türetiyoruz:

  • Proxy (Next.js middleware) her isteği devre dışı modüllerin rota taleplerine karşı kontrol eder ve 404 döner — anahtarların statik olarak önceden işlenmiş sayfalarda bile anında geçerli olmasını sağlayan budur.
  • Modülün layout'undaki route guard, uygulama içindeki ikinci savunma hattıdır.
  • Üst menü, alt bilgi ve komut paleti bağlantılarını aynı etkin-modül kümesinden süzer; küme istemci tarafında tazelenir.

Üç yapılandırma katmanı

Etkin küme üç katmandan çözülür ve sonraki katman kazanır: depoya işlenmiş varsayılanlar, dağıtım başına ortam değişkenleri ve token korumalı bir yönetim panelinin yazdığı çalışma zamanı override dosyası. Çekirdek modüller — ana sayfa, yasal sayfalar — hiçbir katmanda kapatılamaz.

Dürüst takas

Bu altyapının bedeli dolaylılıktır: yeni bir bölüm sadece sayfa eklemek yerine manifest kaydetmek zorundadır. Karşılığında "şu bölümü şimdilik gizleyebilir miyiz?" sorusu bir deployment yerine on saniyelik bir cevaba dönüşür. Çok sayıda küçük site işleten bir stüdyo için bu takas kendini hızla amorti eder.