配置bower只安装dist文件夹

时间:2015-02-19 23:43:42

标签: javascript git bower

我正在尝试学习bower / grunt / requirejs等工具,以加快我网站的开发过程,并使我的代码更加模块化/高效。我目前正在关注this tutorial。如何使Bower只为我的依赖项(在我的component.json文件中设置)而不是整个Git存储库安装dist文件夹?

4 个答案:

答案 0 :(得分:21)

您正在寻找的是bower.json中的忽略属性:https://github.com/bower/bower.json-spec

模块的开发人员可以使用 ignore 属性在通过Bower下载和安装模块时排除文件。

如果您是所述模块的开发人员,则可以使用 ignore 属性排除除 dist 文件夹之外的所有内容。

如果您不是该模块的开发人员,那么您无能为力,您将获得该模块的开发人员认为重要的任何内容。在大多数情况下,这不是问题。

这是 ignore 属性的典型配置:

{
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "package.json",
    "src"
  ]
}

答案 1 :(得分:7)

Bower没有提供任何选择。主要是因为they have refused to

我们所留下的只是处理它的hacky方法,例如grunt-wiredep,它不能严格地解决问题。

祝你好运!

答案 2 :(得分:6)

来自Bower的api documentation,似乎无话可说"只安装dist文件夹"。

当您正在使用Grunt时,您可能会创建一个任务,在bower install使用grunt-contrib-clean后从bower_components文件夹中删除不需要的文件和文件夹后运行。

此类内容应删除bower_components文件夹中除dist个文件夹以外的所有内容:

clean : {
    dist : ['bower_components/*/*', '!bower_components/*/dist']
}

在研究这个问题的过程中,我发现grunt-bower-task似乎也是如此。我看到这个方法的唯一缺点就是你必须先手动创建bower.json然后运行grunt任务。

答案 3 :(得分:0)

这不会直接回答您的问题,但可能有助于您尝试完成的任务。

有两个插件:grunt-wiredepgrunt-wiredep-copy,可以帮助您管理您的bower依赖项。这些会自动将依赖项添加到HTML中,然后可以获取所需的缩小的并将它们复制到dist文件夹中。

然而,在How to manage bower dependencies when developing and deploying with grunt and a dist project folder?

,我正在努力解决这方面的问题