14

我有一个 index.html 文件。在我的 bower.json 文件中,我有一个依赖项:

"bootstrap": "~3.3.2"

在一个 gulp 文件中,我有:

  gulp.src('./main.html')
    .pipe(wiredep({
      bowerJson: require('./bower.json')
    }))
    .pipe(gulp.dest('./'));

当我这样做时,我看到所有的 css 和 js 正在生成,但没有看到 bootstrap.css 包含在注入的任何地方,其他依赖项是。到底是怎么回事?

我认为必须有一个简单的解决方法?或者与 grunt 相比,gulp 在这方面有问题吗?

更新:我在一个铁杆 maven 狂热者身上得到了 ****,他说 bower 和 node 与 maven 相比如何糟糕,以及在安装 bower 之后,您必须在下载包后手动修改包的 bower.json 文件。如果有某种方法可以合法地不必修改 bower.json 或将其合并到构建过程中而不必要求开发人员这样做......请更新!

4

6 回答 6

26

我们可以覆盖项目的 bower.json 中的主要对象,而不是替换/修改 bootstrap 的 bower.json。

"overrides":{
"bootstrap":{
  "main":[
  "dist/js/bootstrap.js",
  "dist/css/bootstrap.min.css",
  "less/bootstrap.less"
  ]
}}

这对我有用!

于 2015-12-28T12:51:22.730 回答
8

是的,正如@Helzgate 所说,bootstrap 正在考虑将bootstrap.less作为默认样式文件而不是bootstrap.css,您可以通过以下方式查看

bower_components/bootstrap/bower.json

然后您可以清楚地看到主要属性包含以下值:

main": [
    "less/bootstrap.less",
    "dist/js/bootstrap.js"
  ]

所以你所要做的就是用 dist/css/bootstrap.css 替换less / bootstrap.less ,如下所示:

"main": [
    "dist/css/bootstrap.css",
    "dist/js/bootstrap.js"
  ]

瞧,就是这样。

于 2015-08-15T00:28:28.890 回答
6

在我将最初指向 *.less 文件的根目录中的 bower.json 文件更改为以下内容后:

"main": ["dist/css/bootstrap.css"],

现在可以了。

注意:我删除了 bootstrap.js 的条目,因为我不需要它。

于 2015-06-23T21:34:03.107 回答
4

这是最新版本的 Bootstrap 3.3.5 的问题。有关详细信息,请参阅以下 GitHub 问题:

https://github.com/twbs/bootstrap/issues/16663

换句话说,它应该可以在 3.3.4 版本之前正常工作。

确保列出您要在 Bower 中使用的实际版本;例如,在已经安装了 3.3.5 之后在您的 bower.json 中使用 ~3.3.2,仍然会让 Bower 使用 3.3.5,只需将其更改为 3.3.2 而不是 ~3.3.2,您就会很成功!

于 2015-06-25T15:25:26.707 回答
3

您可以像这样在wiredep选项中设置覆盖:

gulp.task('bower',['inject-js'],function(){
return gulp.src('./www/index.html')
    .pipe(wiredep({
        "overrides" : {
            "bootstrap":{
                "main":[Set the path to any thing you like]
            }
        },
        directory:'./www/lib/'
    }))
    .pipe(gulp.dest('./www'));
});
于 2016-05-31T06:53:47.413 回答
2

您最多可以使用 Bootstrap 3.3.4。之后,不会注入任何 css。只有JS。这一切都在https://github.com/twbs/bootstrap/issues/16663中详尽提及。这可能需要一段时间才能解决。时至今日,仍未解决。问题是,wiredep 与我的工作流程配合得非常好。唯一有效的另一件事是 gulp-inject,但这就是 gulp,而且 gulp 对 Bootstrap 不那么友好。

于 2016-04-11T22:46:39.107 回答