Forse con sass-globbing e una convenzione di denominazione per i file opzionali seguono uno specifico ordine di caricamento.
Si consideri il seguente albero:
stackoverflow-14975341/
├── .gitignore
├── config.rb
├── css/
│ └── screen.css
└── sass/
├── optionals/
│ ├── .gitkeep
│ ├── _01_style.scss
│ └── _03_style.scss
└── screen.scss
con questi file:
# config.rb
require 'sass-globbing'
sass_dir = 'sass'
css_dir = 'css'
relative_assets = true
e
// sass/screen.scss
@import "optionals/*";
e
// sass/optionals/_01_style.scss
.optional1 {
background-color: red;
}
.210
e
// sass/optionals/_03_style.scss
.optional3 {
background-color: green;
}
e, per la .gitignore
:
sass/optional/*
Infine, per mantenere la cartella optional
, creare un file vuoto denominato .gitkeep
(il nome del file non è importante).
Quando si compila il foglio di stile, Compass genera lo screen.css
anche se manca il file _02_style.scss
.
// 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;
}
È sicuramente possibile migliorare il sistema in base all'importazione di percorsi aggiuntivi.
Cosa c'è che non va includendo solo un file vuoto? – cimmanon
Ho bisogno di metterlo sotto controllo sorgente in modo che questi moduli scss dipendenti dal progetto debbano essere gitignorati. –