使用main-bower-files和angular bootstrap ui删除bootstrap.js和jquery依赖项

时间:2015-01-05 15:10:09

标签: angular-ui-bootstrap gulp bower

Bower和main-bower-files非常棒,但是当与Angular Bootstrap UI一起使用时,安装/包含的内容比需要的要多。

基本上:Angular Bootstrap UI,取代了对bootstrap.js的需求和它的jquery依赖。但是在安装bootstrap时,安装了jquery,然后我的gulp任务使用了main-bower-files,在我的html文件中包含了jquery和bootstrap.js。

有没有办法告诉bower,和/或main-bower-files和/或Bootstrap,不再需要jquery和bootstrap.js。

到目前为止,我尝试在bower_components / bootstrap / bower.json中评论jquery依赖项和dist / js / bootstrap.js行,但文件仍然被包含在内。

1 个答案:

答案 0 :(得分:6)

1)切换到wiredep ,我建议使用。然后你可以做这样的事情:

gulp.task('wiredep', function () {
  var wiredep = require('wiredep').stream;
  gulp.src('app/*.html')
    .pipe(wiredep({
      directory: 'app/bower_components',
      exclude: ['bootstrap']
    }))
    .pipe(gulp.dest('app'))
});

请注意,上面将删除整个引导程序,而不仅仅是它的.js文件。 exclude数组也可以包含regexp,如果要保留实例样式,可能需要这样做。

在您的HTML文件中(对于javascript):          

js替换为要注入样式的css

2)覆盖Bootstrap的凉亭主文件:为main-bower-files提供以下选项:

{
  "overrides": {
    "bootstrap": {
      "main": [
        // files you want to include
      ]
    }
  }
}

您必须检查不想排除的内容并将其添加到上面的main数组中。

另请参阅:https://github.com/ck86/gulp-bower-files/issues/33