Twitter bootstrap 如何实现Bower';s引导依赖项与我自己的构建较少的版本

Twitter bootstrap 如何实现Bower';s引导依赖项与我自己的构建较少的版本,twitter-bootstrap,less,bower,Twitter Bootstrap,Less,Bower,我正在做一个AngularJS项目(YoAngularScaffolding),它使用Grunt、Bootstrap和一些依赖于Bootstrap的东西(比如AngularStrap)。我有一个自定义的variables.less文件,用于我正在尝试使用的引导 虽然我当然可以拥有自己的Bootstrap 3副本,并且可以使用variables.less文件编译自己的Bootstrap.css,但Grunt中的bowerInstall任务始终确保更新我的index.html文件,使其也指向Bowe

我正在做一个AngularJS项目(YoAngularScaffolding),它使用Grunt、Bootstrap和一些依赖于Bootstrap的东西(比如AngularStrap)。我有一个自定义的variables.less文件,用于我正在尝试使用的引导

虽然我当然可以拥有自己的Bootstrap 3副本,并且可以使用variables.less文件编译自己的Bootstrap.css,但Grunt中的bowerInstall任务始终确保更新我的index.html文件,使其也指向Bower Bootstrap包的css文件

Bootstrap已经是一个相当重的负载,所以我当然不想要两个——这就是我看到的。当我使用Grunt构建:dist时(最终使用我的Cordova构建过程),我看到我的Bootstrap和Bower的副本都包含在内。这给我带来了麻烦

所以我需要的是一种让Bower接受我已经介绍了Bootstrap3的方法,并忽略对其他Bower组件的依赖性。否则,我不得不将我的自定义较少的文件放在Bower Bootstrap文件夹中,这是不允许的

有什么想法吗

更新:

下面罗宾的回答完美地解决了我的问题。我不知道的是,我在Grunt中也遇到了cssmin的问题。尽管我的index.html不再列出my和Bower的Bootstrap CSS(由于Robin的解决方案),但我最终还是得到了一个main.CSS,其中包含两个缩小的Bootstrap.CSS副本。一个基于我的原始版本,另一个来自.tmp文件夹,Grunt的autoprefixer和rev任务使用该文件夹。按照my index.html的配置方式,cssmin在.tmp中引入了bootstrap.css的处理版本以及我的原始版本,这导致了一个双重大小的“缩小”文件。index.html中有问题的行如下所示:

<!-- build:css({.tmp,app}) styles/main.css -->

将其更改为此可修复加倍问题:

<!-- build:css(.tmp) styles/main.css -->

尽管它仍然给我留下了glyphicons中断的问题,这本身就是另一个问题,我不再缩小bootstrap.css来部分解决这个问题。

这个包有一个选项
exclude
。有点奇怪,它的文档是项目的一部分(grunt bower安装使用)

因此,您可以通过向
bowerInstall
任务添加以下选项来排除Boostrap CSS:

exclude: [ 'bower_components/bootstrap/dist/css/bootstrap.css' ]
也许您还需要排除
bootstrap.min.css
。甚至可以使用正则表达式,如:

exclude: [ /bootstrap/ ]

我宁愿通过使用npm包使用更干净的“约曼方式”


它避免了丑陋的特定排斥,不会带来缩小问题。

目前为止运气不好。这是我在Grunfile中的任务:bowerInstall:{app:{src:['/index.html'],ignorePath:'/',exclude:['bower_components/bootstrap/dist/css/bootstrap.css']},实际上它正在按预期工作。bower bootstrap.css文件不再被注入到my index.html中。我的困惑(和持续的问题)是,其他任务之一仍然在将Bower bootstrap.css文件与我的其他任务连接起来。