Bower的bower.json中的"ignore"是什么意思?

63

Bower的网站描述了bower.json中的ignore关键字:

ignore [array]:一个路径数组,指定在安装软件包时不需要的路径,希望Bower在安装您的软件包时忽略这些路径。

这是指忽略已安装组件中的路径,还是你的软件包中的路径?或者是其他什么?我对此感到困惑。

3个回答

62

简而言之:

ignore 只在安装的包范围内生效,忽略匹配的模式。


稍微详细一点的回答:

Bower将忽略已安装软件包中bower.json属性中指定的所有匹配模式的文件。

因此,如果您运行bower install someBowerPackage,其中包含以下结构:

someBowerPackage
|- css/
|- js/
|- index.html
|- bower.json

带有 bower.json 文件的:

{
  ...
  "ignore": [ "index.html" ]
}

那么,someBowerPackageindex.html 文件将不会安装在此包中。


17
所以,为了明确起见,“ignore”仅在创建自己的 Bower 包以进行分发时有用——如果您使用 Bower 拉取依赖项,则不会执行任何操作。 - mjs
2
我猜你是指相反的意思。当你运行 bower install mycomponent 时,ignore 将从 mycomponent 中删除一些路径。 - gustavohenke
4
我看到了这个bower文档,但是出于某些原因,它对我没有用。我仍然会得到在“ignore”数组中包含的所有文件。我还清除了我正在运行“bower install”的机器上的本地bower缓存:( - nomis
2
我尝试了上面的代码,但是当路径以 ./ 为前缀时,忽略功能无法正常工作。例如:我需要将 "./index.html" 修改为 "index.html",然后它就可以正常工作了。希望这能帮助到阅读此文的人。 - maxshelley
1
我们有一个问题,就是希望忽略我们托管在私有git仓库中的软件包的git历史记录。问题在于.git文件夹有800MB大小,而我们所需的源代码只有42MB大小。如果我们放入 ignore: [".git"],那么git文件夹将不会出现在bower_components文件夹中,但是bower update总是获取整个repo。在命令行上我们可以看到:progress Receiving objects: 96% (6458/6675), 714.25 MiB | 20.19 MiB/s progress Receiving objects: 98% (6583/6675), 734.68 MiB | 20.22 MiB/s因此每次bower update都需要很长时间。 - tschoartschi
@tschoartschi Bower所做的一切都是git clonegit checkout标签或分支。 ignore属性仅用于在安装软件包后“删除”内容。因此,我强烈建议您将源代码移动到另一个存储库中。 - gustavohenke

27
  • ignore您的软件包中的文件相关
  • 您不能代表其他软件包忽略它们
  • 依赖项要么全部加载,要么全部不加载

2

ignore(忽略)值仅适用于由组件的bower.json文件从Bower安装终点获取的软件包。
project-root/bower.json中指定的ignore值对作为该项目组件获取的软件包没有影响。

自从最初提出此问题以来,bower.json规范已在其自己的Github存储库中得到记录。

Ignore(忽略)

推荐使用
类型:字符串数组

Bower在安装软件包时要忽略的文件列表。

注意:符号链接始终会被忽略。但是,bower.json永远不会被忽略。

忽略规则遵循gitignore模式规范中指定的相同规则。

ignore中的通配符或文件值匹配的文件将不会作为软件包的一部分从终点下载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接