修改变量后动态重新导入Sass部分

时间:2014-12-18 09:32:51

标签: twitter-bootstrap sass

我正在开发一个使用Sass预编译的Twitter Bootstrap的项目。

每次覆盖变量时,我都必须将_bootstrap.sass文件重新导入到项目主样式表中才能使覆盖生效。

你知道让这个过程自动化的方法吗,每当我修改一个变量时,它会立即生效吗?

为了进一步澄清,这是我的目录结构:

/project
  /custom-sass
    /boot.scss -> This is where _bootstrap.scss is imported
    /glob.scss
  /dev
    /bootstrap-sass
      /bootstrap
        /mixins
        /partial1.scss
        /partial2.scss
        /etc..
      /_bootstrap.scss -> This is the main Bootstrap Sass file that imports all partials.

当我直接在_variables.scss中覆盖变量,然后在我的boot.scss中使用此指令重新导入_bootstrap.scss@import '../dev/bootstrap-sass/_bootstrap.scss时,样式会更新。

但是,我不想直接在_variables.scss中覆盖变量。此外,每次我做出更改时,我都不希望被迫在我的主样式表中重新导入_bootstrap.scss

1 个答案:

答案 0 :(得分:1)

没有语言可以做你所建议的。如果您指定$margin: 10px然后运行一些使用该变量的代码,则无法将其更改为20px并期望它能够追溯性地更改已经运行的代码的结果。

如果你想要$margin: 20px,那么在运行依赖它的程序(mixins,import等)之前你就这样指定它。换句话说,移动您的Bootstrap导入,以便在设置变量之后