如何执行依赖关系的bower postinstall?

时间:2016-06-17 18:47:07

标签: git bower

我正在编写一个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任务。当我从包含bower install/src的根目录运行.bowerrc时,一切都按预期工作,并执行postinstall命令,这将生成/dist目录。大。

现在,我希望能够从另一个项目中执行相同的操作,让我们将其称为ParentProject,它将UI-Components作为依赖项。

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

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

1 个答案:

答案 0 :(得分:0)

Bower包旨在包含即用型(已编译)文件。 在任何事项的依赖关系中,在ParentProject bower will not use bower install中运行.bowerrc

  

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

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

相关问题