SASS

SASS — ایمپورت (@import)

آخرین بروزرسانی: 1404/08/17

ایمپورت (@import)

در Sass می توانی کد را تکه تکه نگه داری. سپس با دستور @import همه را کنار هم بیاوری. «ایمپورت (Import)» یعنی محتوای یک فایل را داخل فایل دیگر وارد کنیم. بنابراین کد DRY می ماند و نگهداری آسان تر می شود.

ایمپورت در Sass چیست؟

دستور @import محتویات یک فایل Sass را به فایل اصلی اضافه می کند. برخلاف CSS، این کار درخواست HTTP اضافه ایجاد نمی کند. چون ترنس پایلر، فایل ها را یکی می کند.

سینتکس پایه @import

@import filename;

مشاهده در ادیتور

نکته: پسوند لازم نیست. Sass خودش .sass یا .scss را حدس می زند. همچنین می توانی فایل CSS را هم ایمپورت کنی.

ایمپورت چند فایل

@import "variables";
@import "colors";
@import "reset";

مشاهده در ادیتور

نمونه Reset و استفاده در فایل اصلی

/* reset.scss */
html,
body,
ul,
ol {
  margin: 0;
  padding: 0;
}

مشاهده در ادیتور

/* standard.scss */
@import "reset";

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: red;
}

مشاهده در ادیتور

نکته: قراردادن @import در ابتدای فایل، محتوای ایمپورت شده را سراسری می کند. بنابراین متغیرها و میکسین ها همه جا در دسترس هستند.

خروجی CSS پس از ترنس پایل

/* CSS output */
html,
body,
ul,
ol {
  margin: 0;
  padding: 0;
}

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: red;
}

مشاهده در ادیتور

پارتشیال ها (Partials) در Sass

اگر نام فایل با زیرخط شروع شود، Sass آن را مستقیم ترنس پایل نمی کند. این فایل ها را «پارتشیال (Partial)» می نامیم و فقط برای ایمپورت هستند.

سینتکس نام گذاری پارتشیال

_filename

مشاهده در ادیتور

نمونه پارتشیال رنگ ها

/* _colors.scss */
$myPink: #EE82EE;
$myBlue: #4169E1;
$myGreen: #8FBC8F;

مشاهده در ادیتور

@import "colors";

body {
  font-family: Helvetica, sans-serif;
  font-size: 18px;
  color: $myBlue;
}

مشاهده در ادیتور

شروع سریع در 3 گام

  1. یک پارتشیال برای متغیرها بساز.
  2. در فایل اصلی آن را ایمپورت کن.
  3. کد را ترنس پایل کن و نتیجه را تست کن.

برای ادامه، مقاله تو در تو در Sass را ببین. همچنین صفحه متغیرها در Sass خیلی کاربردی است. برای بازگشت، این صفحه ایمپورت در Sass را نگه دار.

جمع بندی سریع

  • @import فایل ها را در خروجی یکی می کند.
  • HTTP اضافی در زمان اجرا ندارد.
  • پارتشیال با زیرخط شروع می شود.
  • متغیرها بعد از ایمپورت در دسترس اند.