我有一个像这样的项目结构...
app
├── 404.html
├── coffee
│ ├── app.coffee
│ └── controllers
├── colors.json
├── components
│ ├── angular
│ ├── angular-cookies
│ ├── angular-mocks
│ ├── angular-resource
│ ├── angular-sanitize
│ ├── angular-scenario
│ ├── bootstrap
│ ├── es5-shim
│ ├── jquery
│ └── json3
├── favicon.ico
├── index.jade
├── lib
│ ├── bootstrap
│ ├── font-awesome
│ ├── jquery
│ └── slider
├── robots.txt
├── styl
│ ├── main.styl
│ └── partials
└── views
├── demo.jade
└── home.jade我正在使用bower安装app/component文件夹中的所有内容。我计划将一个自定义变量文件添加到bootstrap中,并从less源代码构建它。在bower install创建app/bootstrap文件夹后,我可以很容易地修改variables.less文件,但我希望它从components文件夹外部读取我的自定义文件,而不必修改其中的任何内容。
如何在现有的grunt build任务中使用bower加载的自定义variables.less文件合并构建bootstrap?
发布于 2014-07-11 05:25:10
我花了一段时间才弄清楚less的变量声明和导入是如何工作的,但最终,我有了一个自定义的bootstrap构建,通过导入它,并通过grunt编译它-所以我的解决方案实际上与grunt无关,而是作为grunt构建的一部分。
项目的main.less文件的内容...
// import the default bootstrap variables...
@import "../components/bootstrap/less/variables.less";
// custom variable overrides have to be loaded BEFORE bootstrap.less
// this is useful for changing any variables that influence the way bootstrap is built
@import "_bootstrap-variables-overrides.less";
// load the main bootstrap file
@import "../components/bootstrap/less/bootstrap.less";
// components overrides have to be loaded AFTER bootstrap.less
// this is useful for overriding bootstrap styles that are not configurable as variables
@import "_bootstrap-components-overrides.less";
// more less...
/* ... */发布于 2014-07-11 01:41:06
正确的“yeoman”方式似乎是grunt-customize-bootstrap npm包。
只需安装它,并按照包页面上的说明在您的grunt编译过程中添加一个grunt任务,就应该可以了!
https://stackoverflow.com/questions/19267338
复制相似问题