【发布时间】: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 文件中明确忽略它。我怎样才能让它工作?
【问题讨论】: