【问题标题】:Configure bower to install only dist folder将 bower 配置为仅安装 dist 文件夹
【发布时间】:2015-02-19 23:43:41
【问题描述】:

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

【问题讨论】:

  • 如果你不是模块的开发者,也许 bower-installer 可以帮你从组件中只抓取你想要的部分:scotch.io/tutorials/…

标签: javascript git bower


【解决方案1】:

您要查找的是bower.json 中的 ignore 属性:https://github.com/bower/bower.json-spec

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

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

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

下面是 ignore 属性的典型配置:

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

【讨论】:

    【解决方案2】:

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

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

    祝你好运!

    【讨论】:

      【解决方案3】:

      从 Bower 的 api documentation 看来,似乎没有什么可以说“只安装 dist 文件夹”。

      由于您已经在使用 Grunt,您可能可以创建一个在您的 bower install 之后运行的任务,使用 grunt-contrib-cleanbower_components 文件夹中删除不需要的文件和文件夹。

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

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

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

      【讨论】:

      • grunt-bower-task 效果很好。使用“exportOverride”选项,也可以安装.min 版本。谢谢!
      【解决方案4】:

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

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

      然而,我在How to manage bower dependencies when developing and deploying with grunt and a dist project folder? 处理这方面的一些问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-22
        • 2014-12-03
        • 2014-10-07
        • 1970-01-01
        • 2019-04-21
        • 1970-01-01
        • 2018-08-03
        • 1970-01-01
        相关资源
        最近更新 更多