像上一篇說的,沒有架構的css散落在同一個資料夾會變得難以維護,scss也是。
而因為sass/scss的特性(eg.variables、import...)
讓scss檔案可以更容易的分割成不同的小部分,並且互相引用,也因此也更容易將其分類。
我自己覺得,有點像是SMACSS因應sass/scss產生的延伸版本,
以下擷取 官方版本提到得架構: (官方版本的連結附在後面)
sass/
|
|– abstracts/
| |– _variables.scss # Sass Variables
| |– _functions.scss # Sass Functions
| |– _mixins.scss # Sass Mixins
| |– _placeholders.scss # Sass Placeholders
|
|– base/
| |– _reset.scss # Reset/normalize
| |– _typography.scss # Typography rules
| … # Etc.
|
|– components/
| |– _buttons.scss # Buttons
| |– _carousel.scss # Carousel
| |– _cover.scss # Cover
| |– _dropdown.scss # Dropdown
| … # Etc.
|
|– layout/
| |– _navigation.scss # Navigation
| |– _grid.scss # Grid system
| |– _header.scss # Header
| |– _footer.scss # Footer
| |– _sidebar.scss # Sidebar
| |– _forms.scss # Forms
| … # Etc.
|
|– pages/
| |– _home.scss # Home specific styles
| |– _contact.scss # Contact specific styles
| … # Etc.
|
|– themes/
| |– _theme.scss # Default theme
| |– _admin.scss # Admin theme
| … # Etc.
|
|– vendors/
| |– _bootstrap.scss # Bootstrap
| |– _jquery-ui.scss # jQuery UI
| … # Etc.
|
`– main.scss # Main Sass file
從以上的架構可以看得出來, Sass 7-1 Pattern
參考資料:
sass-guideline
sass-7-1-pattern.scss