Навіщо ставити перед іменем файлу "_" або "_" в scss / css?


147

Навіщо ставити _перед ім'ям файлу в scss?

_filename.scss- Навіщо це потрібно _?

Відповіді:


147

_ (Підкреслення) є частковою для scss. Це означає, що таблиця стилів буде імпортована (@import) в основний таблицю стилів, тобто styles.scss. Перевага використання партизалів полягає в тому, що ви можете використовувати багато файлів для організації свого коду, і все буде зібрано в один файл.


3
але import '_file';і import '_file';робить те ж саме вірно?
tom10271

20
@aokaddaoc, схоже, ви написали той самий рядок коду :)
Аміт

20
О, дякую, що вказали на мою помилку. «Але import '_file';і import 'file';робить те ж саме право?»
tom10271

5
Якщо я структурую свої файли таким чином, що я коли-небудь надсилаю лише один файл моєму компілятору / препроцесору, чому це має значення, якщо мої файли є попередньою _? Я розглядаю питання про видалення підкреслення з імен файлів. Незалежно від того, чи є файл Sass частковим (тобто імпортним фрагментом коду), слід залежати від його розташування в архітектурі вашого проекту, а не від того, як названий файл.
ESR

1
@ESR: Погоджено, ця функція виглядає трохи застарілою в сучасному середовищі веб-розробників. Ви, звичайно, не потребуєте проекту _, якщо ваш проект структурований розумним чином.
Кріс Джейнес

55

Файл sass, що починається з підкреслення, є частковим. Це хороший спосіб тримати свої стилі на логічних розділах. Усі ці файли об'єднуються при компіляції під час використання@import .

З посібника з мови Sass:

Ви можете створити часткові файли Sass, які містять невеликі фрагменти CSS, які ви можете включити в інші файли Sass. Це чудовий спосіб модулювати свій CSS та допомагати легше підтримувати речі. Частково - це просто файл Sass, названий основним підкресленням. Ви можете назвати це на кшталт _partial.scss. Підкреслення дозволяє Сассу знати, що файл є лише частковим файлом і його не слід генерувати у файл CSS. Sass частинки використовуються в директиві @import.

http://sass-lang.com/guide


13

Якщо ви додасте "_" перед іменем файлу, він не буде генеруватися в CSS, якщо ви не імпортуєте його в інші файли sass, які не є частковими.

припустимо, структура вашої папки така

/scss
 style.scss
 _list.scss
/css

якщо запустити команду

sass --watch scss:css

будуть створені лише файли style.css та style.css.map, компілятор sass опустить _list.scss, не перетворюючи його вміст у файл CSS.

/scss
 style.scss
 _list.scss
/css
 style.css
 style.css.map

Єдиний спосіб, яким ви можете користуватися сторонніми частинами, - це імпортувати їх в інший .scss-файл

@import 'list.scss';

якщо ви видалите "_" перед _list.scss, результат команди буде

/scss
 style.scss
 list.scss
/css
 style.css
 style.css.map
 list.css
 list.css.map

Основна мета використання партизалів - розбити наш CSS-код на кілька частин, які легше підтримувати. Сподіваюся, це допомагає. Дякую.


2
Це правильна відповідь. Але ви також не згадали про особливий випадок _index.scss: sass-lang.com/documentation/at-rules/import#index-files
tiffon

11

Файли з _ (підкреслення) компілятором ігноруються. Однак всі ці файли імпортуються в єдиний головний файл SCSS (тобто styles.scss), який є власне файлом, який компілюється (у його імені немає _ (підкреслення))

Кінцева мета полягає в тому, щоб зібрати лише один файл SCSS і в результаті мати лише один CSS-файл, що має різні переваги.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.