配置 Bower 以仅安装 dist 文件夹

Configure bower to install only dist folder

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

你要找的是 ignore 属性 in bower.json: https://github.com/bower/bower.json-spec

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

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

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

这是 ignore 属性的典型配置:

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

从鲍尔的api documentation看来,似乎没什么好说的"Install just the dist folder"。

由于您已经在使用 G运行t,因此您可以在 bower install 之后创建一个任务 运行,使用 grunt-contrib-clean 从中删除不需要的文件和文件夹bower_components 文件夹。

像这样应该删除 bower_components 文件夹中除 dist 文件夹之外的所有内容:

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

在调查这个问题时,我还发现 grunt-bower-task 似乎正是这样做的。我看到此方法的唯一缺点是您必须先手动创建 bower.json,然后 运行 g运行t 任务。

这并不能直接回答您的问题,但可能有助于您实现目标。

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

然而,我在

的某些方面苦苦挣扎

Bower 不提供执行此操作的任何选项。主要是因为 they have refused to.

我们所剩下的就是用 hacky 的方式来处理它,比如 grunt-wiredep,这并不能解决严格意义上的问题。

祝你好运!