我正在开发一个使用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
。
答案 0 :(得分:1)
没有语言可以做你所建议的。如果您指定$margin: 10px
然后运行一些使用该变量的代码,则无法将其更改为20px
并期望它能够追溯性地更改已经运行的代码的结果。
如果你想要$margin: 20px
,那么在运行依赖它的程序(mixins,import等)之前你就这样指定它。换句话说,移动您的Bootstrap导入,以便在设置变量之后