Có thể với sass-globbing và quy ước đặt tên cho các tệp tùy chọn theo một thứ tự tải cụ thể.
Hãy xem xét những cây sau đây:
stackoverflow-14975341/
├── .gitignore
├── config.rb
├── css/
│ └── screen.css
└── sass/
├── optionals/
│ ├── .gitkeep
│ ├── _01_style.scss
│ └── _03_style.scss
└── screen.scss
với những tập tin này:
# config.rb
require 'sass-globbing'
sass_dir = 'sass'
css_dir = 'css'
relative_assets = true
và
// sass/screen.scss
@import "optionals/*";
và
// sass/optionals/_01_style.scss
.optional1 {
background-color: red;
}
.210
và
// sass/optionals/_03_style.scss
.optional3 {
background-color: green;
}
và, trong .gitignore
:
sass/optional/*
Cuối cùng, để giữ cho các thư mục optional
, tạo một tập tin rỗng tên .gitkeep
(tên tập tin là không quan trọng).
Khi bạn biên dịch biểu định kiểu, Compass sẽ tạo ra screen.css
ngay cả khi tệp thiếu _02_style.scss
bị thiếu.
// css/screen.css
/* line 1, ../sass/optionals/_01_style.scss */
.optional1 {
background-color: red;
}
/* line 1, ../sass/optionals/_03_style.scss */
.optional3 {
background-color: green;
}
Chắc chắn có thể cải thiện hệ thống dựa trên các đường dẫn bổ sung nhập.
Có gì sai khi chỉ bao gồm tệp trống? – cimmanon
Tôi cần phải đặt nó dưới sự kiểm soát nguồn để các mô-đun scss phụ thuộc vào dự án nên được gitignored. –