Varlıklar Yapılandırması
Nette Assets için yapılandırma seçeneklerine genel bakış.
assets:
# göreli eşleştirici yollarını çözümlemek için temel yol
basePath: ... # (string) varsayılan olarak %wwwDir%
# göreli eşleştirici URL'lerini çözümlemek için temel URL
baseUrl: ... # (string) varsayılan olarak %baseUrl%
# varlık sürümlemeyi global olarak etkinleştir?
versioning: ... # (bool) varsayılan olarak true
# varlık eşleştiricilerini tanımlar
mapping: ... # (array) varsayılan olarak 'assets' yolu
basePath
, eşleştiricilerdeki göreli yolları çözümlemek için varsayılan dosya sistemi dizinini ayarlar.
Varsayılan olarak, web dizinini (%wwwDir%
) kullanır.
baseUrl
, eşleştiricilerdeki göreli URL'leri çözümlemek için varsayılan URL önekini ayarlar. Varsayılan
olarak, kök URL'yi (%baseUrl%
) kullanır.
versioning
seçeneği, önbellek temizleme için varlık URL'lerine sürüm parametrelerinin eklenip
eklenmeyeceğini global olarak kontrol eder. Bireysel eşleştiriciler bu ayarı geçersiz kılabilir.
Eşleştiriciler (Mappers)
Eşleştiriciler üç şekilde yapılandırılabilir: basit dize gösterimi, ayrıntılı dizi gösterimi veya bir servise referans olarak.
Bir eşleştirici tanımlamanın en basit yolu:
assets:
mapping:
default: assets # %wwwDir%/assets/ için dosya sistemi eşleştiricisi oluşturur
images: img # %wwwDir%/img/ için dosya sistemi eşleştiricisi oluşturur
scripts: js # %wwwDir%/js/ için dosya sistemi eşleştiricisi oluşturur
Her eşleştirici bir FilesystemMapper
oluşturur:
%wwwDir%/<path>
içinde dosyaları arar%baseUrl%/<path>
gibi URL'ler oluşturur- Global sürümleme ayarını miras alır
Daha fazla kontrol için ayrıntılı gösterimi kullanın:
assets:
mapping:
images:
# dosyaların depolandığı dizin
path: ... # (string) isteğe bağlı, varsayılan olarak ''
# oluşturulan bağlantılar için URL öneki
url: ... # (string) isteğe bağlı, varsayılan olarak yol
# bu eşleştirici için sürümlemeyi etkinleştir?
versioning: ... # (bool) isteğe bağlı, global ayarı miras alır
# dosyaları ararken uzantıyı/uzantıları otomatik ekle
extension: ... # (string|array) isteğe bağlı, varsayılan olarak null
Yapılandırma değerlerinin nasıl çözüldüğünü anlama:
- Yol Çözümlemesi
- Göreli yollar
basePath
'ten (veyabasePath
ayarlanmamışsa%wwwDir%
'den) çözümlenir - Mutlak yollar olduğu gibi kullanılır
- URL Çözümlemesi
- Göreli URL'ler
baseUrl
'den (veyabaseUrl
ayarlanmamışsa%baseUrl%
'den) çözümlenir - Mutlak URL'ler (şema veya
//
ile) olduğu gibi kullanılır url
belirtilmezse,path
değeri kullanılır
assets:
basePath: /var/www/project/www
baseUrl: https://example.com/assets
mapping:
# Göreli yol ve URL
images:
path: img # Çözümlenir: /var/www/project/www/img
url: images # Çözümlenir: https://example.com/assets/images
# Mutlak yol ve URL
uploads:
path: /var/shared/uploads # Olduğu gibi kullanılır: /var/shared/uploads
url: https://cdn.example.com # Olduğu gibi kullanılır: https://cdn.example.com
# Yalnızca yol belirtildi
styles:
path: css # Yol: /var/www/project/www/css
# URL: https://example.com/assets/css
Özel Eşleştiriciler (Custom Mappers)
Özel eşleştiriciler için bir servise referans verin veya bir servis tanımlayın:
services:
s3mapper: App\Assets\S3Mapper(%s3.bucket%)
assets:
mapping:
cloud: @s3mapper
database: App\Assets\DatabaseMapper(@database.connection)
Vite Eşleştiricisi
Vite eşleştiricisi yalnızca type: vite
eklemenizi gerektirir. Bu, yapılandırma seçeneklerinin tam
listesidir:
assets:
mapping:
default:
# eşleştirici türü (Vite için gerekli)
type: vite # (string) gerekli, 'vite' olmalı
# Vite derleme çıktı dizini
path: ... # (string) isteğe bağlı, varsayılan olarak ''
# derlenmiş varlıklar için URL öneki
url: ... # (string) isteğe bağlı, varsayılan olarak yol
# Vite manifest dosyasının konumu
manifest: ... # (string) isteğe bağlı, varsayılan olarak <path>/.vite/manifest.json
# Vite dev sunucusu yapılandırması
devServer: ... # (bool|string) isteğe bağlı, varsayılan olarak true
# public dizin dosyaları için sürümleme
versioning: ... # (bool) isteğe bağlı, global ayarı miras alır
# public dizin dosyaları için otomatik uzantı
extension: ... # (string|array) isteğe bağlı, varsayılan olarak null
devServer
seçeneği, geliştirme sırasında varlıkların nasıl yüklendiğini kontrol eder:
true
(varsayılan) – Mevcut ana bilgisayar ve bağlantı noktasındaki Vite geliştirme sunucusunu otomatik olarak algılar. Geliştirme sunucusu çalışıyorsa ve uygulamanız hata ayıklama modundaysa, varlıklar sıcak modül değiştirme (HMR) desteğiyle oradan yüklenir. Geliştirme sunucusu çalışmıyorsa, varlıklar derlenmiş dosyalardan public dizininden yüklenir.false
– Geliştirme sunucusu entegrasyonunu tamamen devre dışı bırakır. Varlıklar her zaman derlenmiş dosyalardan yüklenir.- Özel URL (örneğin,
https://localhost:5173
) – Geliştirme sunucusu URL'sini protokol ve bağlantı noktası dahil manuel olarak belirtin. Geliştirme sunucusu farklı bir ana bilgisayarda veya bağlantı noktasında çalıştığında kullanışlıdır.
versioning
ve extension
seçenekleri yalnızca Vite tarafından işlenmeyen Vite'ın public
dizinindeki dosyalar için geçerlidir.
Manuel Yapılandırma
Nette DI kullanmadığınızda, eşleştiricileri manuel olarak yapılandırın:
use Nette\Assets\Registry;
use Nette\Assets\FilesystemMapper;
use Nette\Assets\ViteMapper;
$registry = new Registry;
// Dosya sistemi eşleştiricisi ekle
$registry->addMapper('images', new FilesystemMapper(
baseUrl: 'https://example.com/img',
basePath: __DIR__ . '/www/img',
extensions: ['webp', 'jpg', 'png'],
versioning: true,
));
// Vite eşleştiricisi ekle
$registry->addMapper('app', new ViteMapper(
baseUrl: '/build',
basePath: __DIR__ . '/www/build',
manifestPath: __DIR__ . '/www/build/.vite/manifest.json',
devServer: 'https://localhost:5173',
));