2

我有一个这样的项目结构......

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

我正在使用凉亭安装app/component文件夹中的所有东西。我打算将自定义变量文件添加到引导程序并从较少的源代码构建它。创建文件夹variables.less后,我可以轻松修改文件,但我希望它从文件夹外部读取我的自定义文件,而不必修改其中的任何内容。bower installapp/bootstrapcomponents

我如何将引导程序的构建、使用variables.less由 bower 加载的自定义文件合并到我现有的grunt build任务中?

4

2 回答 2

3

我花了一段时间才弄清楚 less 的变量声明和导入是如何工作的,但最后,我通过 less 导入它并通过 grunt 编译 less 来自定义引导程序构建 - 所以我的解决方案实际上与 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-10T21:25:10.143 回答
2

执行此操作的正确“yeoman”方法似乎是grunt-customize-bootstrap npm 包。

只需按照软件包页面上的说明安装它并在您的 grunt 编译过程中添加一个 grunt 任务,就可以了!

于 2014-07-10T17:41:06.417 回答