.luis dosyaları, başka .luis veya CSS dosyalarını @import ile içerebilir.
Söz Dizimi
Section titled “Söz Dizimi”@import "./base.luis";@import "./vendor.css";@import url("./theme.css") screen;.luis ve CSS Import'larının Farkı
Section titled “.luis ve CSS Import'larının Farkı”.luis import | CSS import | |
|---|---|---|
| Derleme davranışı | Çözümlenir ve ana kaynağa satır içi eklenir | @import bildirimi olarak korunur |
| Çıktıda görünür mü? | Hayır — içeriği açılır | Evet — @import olarak kalır |
/* .luis import — derleme sırasında içeriği açılır */@import "./tokens.luis";
/* CSS import — çıktıya olduğu gibi taşınır */@import "./vendor.css";Dosyanın Her Yerinde Kullanım
Section titled “Dosyanın Her Yerinde Kullanım”@import dosyanın başında olmak zorunda değildir. Bir selector bloğu veya at-rule'dan sonra da yazılabilir.
--primary: #2060ff;
.btn { color: var(--primary); }
@import "./extra.luis";
.card { padding: 16px; }Import Sırası
Section titled “Import Sırası”Bazı at-rule'ların sırası önemlidir:
@charsetdosyanın ilk bildirimi olmalıdır —@layer,@importve tüm diğer kurallardan önce gelir@layerbildirimleri.luisimport'larından ve normal kurallardan önce gelmelidir
/* ✓ Doğru sıra */@charset "UTF-8";@layer base, components;@import "./tokens.luis";
.btn { color: red; }/* ✗ Yanlış — @charset kurallardan sonra gelemez */@import "./tokens.luis";@charset "UTF-8";
/* ✗ Yanlış — @layer kurallardan sonra gelemez */@import "./tokens.luis";@layer base, components;Sıra kuralı ihlal edildiğinde invalid-directive-order veya invalid-directive-position uyarısı üretilir.
Import Cycle
Section titled “Import Cycle”İki .luis dosyası birbirini import ederse import-cycle uyarısı üretilir. Döngüsel import derlemeyi durdurmaz; ilgili import atlanır.
@import "./b.luis";
/* b.luis */@import "./a.luis"; /* → import-cycle uyarısı */Import Graph Sınırları (Varsayılan)
Section titled “Import Graph Sınırları (Varsayılan)”| Limit | Varsayılan | Ne İçin |
|---|---|---|
maxImportDepth | 64 | İç içe import derinliğini sınırlar |
maxImportCount | 2.000 | Toplam çözümlenen import adedini sınırlar |
maxImportedBytes | 4.000.000 | Import edilen toplam kaynak boyutunu sınırlar |
Detaylı örnek:
@import "./a.luis";@import "./b.luis";Eğer a.luis -> ... -> z.luis zinciri derinlik veya toplam byte limitini aşarsa:
fail-softmodda limiti aşan dal import çözümlemesinde kesilir.resource-limituyarısı üretilir.- Limit içinde kalan diğer kurallarla derleme devam eder.
Uyarı Kodları
Section titled “Uyarı Kodları”| Kod | Ne Zaman Üretilir |
|---|---|
import-not-found | Import çözümlenemedi |
import-cycle | İki veya daha fazla .luis dosyası birbirini import ediyor |
invalid-import-url | Desteklenmeyen veya güvensiz URL kullanıldı (javascript: vb.) |
unsupported-import | Derleyicinin desteklemediği import biçimi kullanıldı |
duplicate-import-variable | Aynı değişken farklı import'lardan birden fazla kez tanımlandı |
invalid-directive-order | @charset, @layer gibi direktifler yanlış sırada |
invalid-directive-position | Bir direktif izin verilmeyen konumda kullanıldı |