====== Sass @import ======
* description : Sass @import and Partials
* author : 오션
* email : shlim@repia.com
* lastupdate : 2021-04-08
\\
====Ref====
[[https://www.w3schools.com/sass/sass_import.php|Sass @import and Partials]]\\
=====Sass Nested Rules=====
%%Sass%%는 %%CSS%% 코드를 DRY(Don't Repeat Yourself, 중복배제) 상태로 유지합니다.\\
DRY(중복배제) 코드를 작성하는 한 가지 방법은 관련 코드를 별도의 파일에 보관하는 것입니다.\\
\\
%%CSS%% 스니펫으로 작은 파일을 만들어, 다른 Sass 파일에 포함할 수 있습니다.\\
이런 파일에는 reset file, 변수, 색상, 글꼴, 글꼴 크기 등이 있습니다.\\
=====Sass Importing Files=====
%%CSS%%와 마찬가지로 Sass는 ''%%@import%%'' 지시문(directive)도 지원합니다.\\
\\
''%%@import%%'' 지시문을 사용하면 한 파일의 내용을 다른 파일에 포함할 수 있습니다.\\
\\
%%CSS ''@import''%% 지시문은 성능 문제로 인해 큰 단점이 있습니다; 호출할 때 마다 추가 HTTP 요청을 생성합니다.\\
그러나 %%Sass ''@import''%% 지시문은 CSS에 파일을 포함합니다; 따라서 런타임에 추가 HTTP 호출이 필요하지 않습니다!\\
====Sass Import Syntax====
@import filename;
\\
**Tip:**\\
파일 확장자를 지정할 필요가 없습니다. %%Sass%%는 자동으로 %%.sass%% 또는 %%.scss%% 파일을 의미한다고 가정합니다.\\
%%CSS%% 파일을 가져올 수도 있습니다. ''%%@import%%'' 지시문은 파일을 임포트하고,\\
임포트한 파일에서 정의된 모든 변수 또는 믹스인(mixins)을 기본 파일(the main file)에서 사용할 수 있습니다.\\
\\
기본 파일에서 필요한 만큼의 파일을 가져올 수 있습니다.\\
====예제====
@import "variables";
@import "colors";
@import "reset";
예를 들어 보겠습니다: 아래와 같은 "reset.scss"이라는 reset파일이 있다고 가정해 보겠습니다.\\
=====예제=====
==== SCSS Syntax (reset.scss) ====
html,
body,
ul,
ol {
margin: 0;
padding: 0;
}
\\
이제 상기의 "reset.scss"파일을 "standard.scss"라는 다른 파일로 임포트하려 합니다.\\
\\
방법은 다음과 같습니다: 파일 맨 위에 ''%%@import%%'' 지시문을 추가하는 것이 일반적입니다;\\
이렇게 하면, 콘텐츠가 전역 범위를 갖게 됩니다.\\
====SCSS Syntax (standard.scss):====
@import "reset";
body {
font-family: Helvetica, sans-serif;
font-size: 18px;
color: red;
}
\\
그래서, "standard.css" 파일이 트래스파일이 되면, %%CSS%%는 하기와 같습니다.\\
====CSS output (standard.css)====
html, body, ul, ol {
margin: 0;
padding: 0;
}
body {
font-family: Helvetica, sans-serif;
font-size: 18px;
color: red;
}
===== Sass Partials =====
기본으로, %%Sass%%는 모든 %%.scss%% 파일들을 직접 트랜스파일화 합니다.\\
그러나, 어떤 파일을 임포트하려는 경우, 파일을 직접 트랜스파일화 할 필요는 없습니다.\\
\\
%%Sass%%에는 이에 대한 메커니즘이 있습니다. 파일 이름을 밑줄(underscore)로 시작하면\\
%%Sass%%는 해당 파일을 트랜스파일화 하지 않습니다. 이런 식으로 이름이 지정된 파일을 %%Sass%%에서는 %%partials%%라고 합니다.\\
\\
따라서 %%partial Sass%% 파일의 이름은 선행 밑줄(leading underscore)로 지정됩니다.(ex, _globals.scss)\\
====Sass Partial Syntax====
_filename;
\\
아래 예제에서 %%"_colors.scss"%%라는 이름의 %%partial Sass%% 파일을 보여줍니다.\\
(이 파일은 %%"colors.css"%%로 즉시 트랜스파일되지 않습니다):\\
====예제====
%%"_colors.scss"%%:\\
$myPink: #EE82EE;
$myBlue: #4169E1;
$myGreen: #8FBC8F;
\\
이제 %%partial%% 파일을 임포트하는 경우, 밑줄을 생략하십시오. %%Sass%%는 %%"_colors.scss"%%파일을 가져와야 한다는 것을 이해합니다.\\
==== Example ====
@import "colors";
body {
font-family: Helvetica, sans-serif;
font-size: 18px;
color: $myBlue;
}
{{tag>오션, Sass @import and Partials}}