如果我不想接触Bower文件,如何覆盖Bootstrap变量?
我正在使用Yo、Grunt和Bower。对于yo,我使用cg角度。
我的app.less看起来是这样的:
@import "bower_components/bootstrap/less/bootstrap.less";
@import "bower_components/font-awesome/less/font-awesome.less";
@fa-font-path: "bower_components/font-awesome/fonts";
....
不包括所有bootstrap.less
,而是将其内容复制到您的app.less
,并在bootsrap vars之后但在模块之前导入您自己的variables.less
:
@bootrap-dir: "bower_components/bootstrap/less";
@import "@{bootrap-dir}/variables.less";
@import "your-variables.less";
@import "@{bootrap-dir}/mixins.less";
@import "your-mixins.less";
//...
稍后,您只能加载所需的模块。
覆盖原始引导程序变量的最佳方法是在项目目录中复制variables.less文件,并在引导程序bower导入后立即加载。在博客中http://iamkevinrhodes.com/第5节中也提到了这种解决方法。全局主题化的一种新方法
less中的变量被延迟加载,最后一个定义获胜。因此,只需在从npm或bower导入引导程序后立即导入您的variables.less版本。例如
@import "bootstrap"
@import "custom/less/variables.less"