我正在尝试学习bower / grunt / requirejs等工具,以加快我网站的开发过程,并使我的代码更加模块化/高效。我目前正在关注this tutorial。如何使Bower只为我的依赖项(在我的component.json文件中设置)而不是整个Git存储库安装dist文件夹?
答案 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-wiredep和grunt-wiredep-copy,可以帮助您管理您的bower依赖项。这些会自动将依赖项添加到HTML中,然后可以获取所需的缩小的并将它们复制到dist文件夹中。
然而,在How to manage bower dependencies when developing and deploying with grunt and a dist project folder?
,我正在努力解决这方面的问题