【问题标题】:How to execute dependency's bower postinstall?如何执行依赖的凉亭后安装?
【发布时间】:2016-06-17 18:47:06
【问题描述】:

我正在编写一个 git repo UI-Components,它有自己的 Bower 依赖项。在这个 repo 中有 /src/dist 目录。我只是将/src 目录推送到git,并使用gulp 生成/dist 目录,以便/dist 中的文件可以包含在任何使用UI-Components 的项目中。我在.bowerrc 中有一个脚本如下:

    "scripts": {
        "postinstall": "gulp prep-dependency"
    }

gulp prep-dependency 是我的 gulpfile 中指定的 gulp 任务。当我从包含/src.bowerrc 的根目录运行bower install 时,一切都按预期工作,并执行postinstall 命令,生成/dist 目录。太好了。

现在,我希望能够在另一个项目中做同样的事情,我们称之为 ParentProject,它具有 UI 组件作为依赖项。

我希望当我在 ParentProject 的根目录中运行 bower install 时,将安装 ParentProject 的 bower.json 中包含的所有 bower 依赖项。好消息,它们已安装。耶!坏消息,来自 UI-Components 的 postinstall 命令永远不会被执行,所以我永远不需要 /dist 目录。

如果bower install 递归运行所有依赖项,为什么这个 postinstall 没有被选中?是不是因为来自 UI-Components 的 .bowerrc 文件没有被推送到 git,所以 ParentProject 甚至不知道有一个 postinstall?我没有在我的.gitignore 文件中明确忽略它。我怎样才能让它工作?

【问题讨论】:

    标签: git bower


    【解决方案1】:

    旨在包含即用型(已编译)文件的 Bower 软件包。 当您在 ParentProject bower 中运行 bower install will not use .bowerrc 时,无论如何都要依赖:

    这些挂钩并非旨在为组件作者提供安装后的构建步骤。因此,这些钩子的配置在父项目目录的 .bowerrc 文件中提供。

    因此,您应该更改分发 UI 组件的方式(即推送 dist 版本/为源和凉亭组件创建单独的存储库)或在 ParentProject 中添加自定义构建逻辑

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-08
      • 2017-09-22
      • 1970-01-01
      • 2013-07-03
      • 2014-02-09
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多