105 votes

Lorsque j'utilise SASS, comment puis-je importer un fichier depuis un autre répertoire ?

Dans SASS, est-il possible d'importer un fichier depuis un autre répertoire ? Par exemple, si j'avais une structure comme celle-ci :

- root_directory
    - sub_directory_a
        - _common.scss
        - template.scss
    - sub_directory_b
        - more_styles.scss

template.scss pourrait importer _common.scss à l'aide de @import "common" mais est-il possible que more_styles.scss importe _common.scss ? J'ai essayé plusieurs choses différentes, notamment @import "../sub_directory_a/common" y @import "../sub_directory_a/_common.scss" mais rien ne semble fonctionner.

0voto

C'est une demi réponse.

Vérifiez Compass Avec elle, vous pouvez placer votre _common.scss à l'intérieur d'un partials et ensuite l'importer avec @import common mais cela fonctionne dans tous les fichiers.

0voto

Sajidur Rahman Points 31

J'ai rencontré le même problème. A partir de ma solution, j'ai trouvé ceci. Voici donc votre code :

- root_directory
    - sub_directory_a
        - _common.scss
        - template.scss
    - sub_directory_b
        - more_styles.scss

Pour autant que je sache, si vous voulez importer un scss vers un autre, il doit être partiel. Lorsque vous importez à partir d'un répertoire différent, nommez votre fichier more_styles.scss à _more_styles.scss . Ensuite, importez-le dans votre template.scss comme ceci @import ../sub_directory_b/_more_styles.scss . Cela a fonctionné pour moi. Mais comme vous l'avez mentionné ../sub_directory_a/_common.scss ne fonctionne pas. C'est le même répertoire que celui de la template.scss . C'est pourquoi il ne fonctionne pas.

0voto

Rut Shah Points 77

Le meilleur moyen est d'utiliser sass-loader. Il est disponible en tant que paquet npm. Il résout tous les problèmes liés aux chemins d'accès et rend les choses super faciles.

-7voto

Netix Points 9

J'ai eu le même problème et j'ai trouvé la solution en ajoutant le chemin d'accès au fichier :

@import "C:/xampp/htdocs/Scss_addons/Bootstrap/bootstrap" ;

@import "C:/xampp/htdocs/Scss_addons/Compass/compass" ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X