İçeriğe geç

Import

.luis dosyaları, başka .luis veya CSS dosyalarını @import ile içerebilir.


@import "./base.luis";
@import "./vendor.css";
@import url("./theme.css") screen;

.luis importCSS 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ırEvet — @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";

@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; }

Bazı at-rule'ların sırası önemlidir:

  • @charset dosyanın ilk bildirimi olmalıdır — @layer, @import ve tüm diğer kurallardan önce gelir
  • @layer bildirimleri .luis import'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.


İki .luis dosyası birbirini import ederse import-cycle uyarısı üretilir. Döngüsel import derlemeyi durdurmaz; ilgili import atlanır.

a.luis
@import "./b.luis";
/* b.luis */
@import "./a.luis"; /* → import-cycle uyarısı */

LimitVarsayılanNe İçin
maxImportDepth64İç içe import derinliğini sınırlar
maxImportCount2.000Toplam çözümlenen import adedini sınırlar
maxImportedBytes4.000.000Import edilen toplam kaynak boyutunu sınırlar

Detaylı örnek:

app.luis
@import "./a.luis";
@import "./b.luis";

Eğer a.luis -> ... -> z.luis zinciri derinlik veya toplam byte limitini aşarsa:

  1. fail-soft modda limiti aşan dal import çözümlemesinde kesilir.
  2. resource-limit uyarısı üretilir.
  3. Limit içinde kalan diğer kurallarla derleme devam eder.

KodNe Zaman Üretilir
import-not-foundImport çözümlenemedi
import-cycleİki veya daha fazla .luis dosyası birbirini import ediyor
invalid-import-urlDesteklenmeyen veya güvensiz URL kullanıldı (javascript: vb.)
unsupported-importDerleyicinin desteklemediği import biçimi kullanıldı
duplicate-import-variableAynı değişken farklı import'lardan birden fazla kez tanımlandı
invalid-directive-order@charset, @layer gibi direktifler yanlış sırada
invalid-directive-positionBir direktif izin verilmeyen konumda kullanıldı