【问题标题】:Global SASS variables in reactjs appreactjs应用程序中的全局SASS变量
【发布时间】:2018-03-14 11:07:09
【问题描述】:

我目前正在学习 reactjs,我刚刚将 SASS 添加到我的项目中。但是,我想创建一个文件来全局存储我的所有变量和 mixin,然后我的项目中的任何其他 scss 文件都可以使用这些文件。无需手动将文件导入到我制作的每个 scss 文件中,这怎么可能?

我的文件夹结构:

/src 资产/ 图片/

components/
    app/
        app.js
        app.scss

styles/
    scss/
        main.scss
        _var.scss
        _mixins.scss
        _typography.scss

index.css
index.js

【问题讨论】:

    标签: reactjs sass


    【解决方案1】:

    您必须在主导入文件的顶部导入您的变量,然后是所有其他导入。所以,假设你上面的目录结构,在main.scss 你想做:

    @import 'var';
    @import 'mixins';
    @import 'typography';
    
    ...
    
    // Component imports
    @import '../../components/app/app';
    

    或者,您可以在更接近项目基础的位置设置一个共享主导入文件(例如,index.scss),然后看起来像:

    // in `styles/scss/main.scss`
    @import 'var';
    @import 'mixins';
    @import 'etc';
    
    // in `index.scss`
    // Base style import
    @import 'styles/scss/main.scss';
    
    // Component imports
    @import 'components/app/app';
    @import 'components/etc/etc';
    

    这里的重要因素是您需要在您的变量导入之后 导入任何需要访问您的共享变量的内容。否则变量将不在范围内。

    【讨论】:

    • 我的 main.scss 文件被导入到根组件 (app) 中。但是,当我尝试这种方法并将我的组件导入该文件时,它仍然没有检测到变量。样式被任何依赖于主外部 var 的东西捕获和使用,scss 文件仍然中断
    猜你喜欢
    • 2015-05-26
    • 1970-01-01
    • 2011-09-17
    • 2020-07-12
    • 2013-12-19
    • 2010-11-12
    • 1970-01-01
    • 2011-09-10
    • 2019-01-15
    相关资源
    最近更新 更多