SASS - utiliser des variables dans plusieurs fichiers
Je tiens à garder une centrale .scss fichier qui stocke toutes SASS des définitions de variables pour un projet.
//_master.scss
$accent: #6D87A7;
$error: #811702;
$warning: #F9E055;
$valid: #038144;
//etc...
Le projet aura un grand nombre de fichiers CSS, en raison de sa nature. Il est important que je déclare tous les projets de style à l'échelle des variables dans un seul endroit.
Est-il un moyen de le faire dans SCSS?
- Je suis assez sûr que c'est pas possible, j'ai essayé la même chose il ya quelque temps et ne pouvait pas le faire fonctionner.
- au contraire, elle est un élément central de SASS: sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#partials
- Sweet! Je pense que j'ai peut-être mal lu cette déclaration: "les Directives qui sont autorisés uniquement au niveau de la base d'un document, comme mixin ou jeu de caractères ne sont pas autorisés dans les fichiers qui sont importés dans un contexte imbriqué." et de ne pas lire correctement les "imbriqués contexte de la partie".
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire comme ceci:
J'ai un dossier nommé services publics et à l'intérieur que j'ai un fichier nommé _variables.scss
dans ce fichier, je déclare les variables comme ceci:
puis-je avoir le style.scss fichier dans lequel je importer tous mes autres fichiers scss comme ceci:
puis, dans l'un des fichiers que j'ai importé, je devrais être en mesure d'accéder à des variables que j'ai déclaré.
Assurez-vous simplement d'importer le fichier de variable avant toutes les autres que vous aimeriez utiliser.
$black: #000 !default;
. Le!default
thingie empêche la variable d'être remis à zéro si elle existe déjà.@import "global.scss";
(qui contient vos variables d'e.g $blanc: #F1FFFA;). Puis redémarrez votre applicationctrl+C
, et actualisez votre page web.Cette réponse montre comment je me suis retrouvé à l'aide de cette et les autres pièges que j'ai frappé.
J'ai fait un master SCSS fichier. Ce fichier doit ont un trait de soulignement au début pour qu'il soit importé:
Puis, dans l'en-tête de tous mes autres .SCSS fichiers, j'ai importer le maître:
IMPORTANT
Ne comprennent pas quelque chose, mais variables, les déclarations de fonction et d'autres SASS les fonctionnalités de votre
_master.scss
fichier. Si vous incluez des CSS, il sera possible de reproduire cette CSS dans chaque fichier que vous importez le maître dans de.Créer un index.scss et là, vous pouvez importer tous les fichiers de structure que vous avez. Je vais coller mon index à partir d'un projet d'entreprise, il se peut que d'autres de la façon de structurer les fichiers css:
Et vous pouvez regarder avec gulp/grunt/webpack etc, comme:
gulpfile.js
//SASS Tâche
Comment sur l'écriture d'un peu de couleur à base de classe mondiale sass fichier, donc nous n'avons pas besoin de soins où les variables sont. Tout comme le suivant:
et puis, on peut utiliser le
background-color
classe dans un fichier.Mon point est que je n'ai pas besoin d'importer
variable.scss
dans un fichier, il suffit d'utiliser il.