Non sono ancora riuscito a fare il salto a 3.1, ma usando il Compass & Sass per un po ', ho trovato che è meglio provare a gestire mixin/definition sass separatamente dalla generazione di CSS effettiva. In questo modo, i file mixin possono essere trattati liberamente come librerie di codice, incluso ove necessario, senza di loro più volte generare regole CSS.
Così si potrebbe avere:
/* my-mixin-concern.scss */
$default_foo: 123px !default;
@mixin some-concern($foo: $default_foo) {
// do something
}
/* application.scss */
$default_foo: 321px; // optionally, pre-set the default value before import.
@import 'my-mixin-concern';
p { @include some-concern; }
/* home.scss */
@import 'my-mixin-concern';
body.home p { @include some-concern(9000px); }
In questo modo si sta importando in modo esplicito tutti i requisiti per ogni file SCSS, in modo simile a come si dovrebbe farlo in una libreria di codice.