调用bower install时指定.bowerrc的位置

时间:2015-03-04 21:33:44

标签: dependencies npm bower

我有一个包含子模块的父项目。该模块有自己的bower.json,它指定了模块的依赖关系,.bowerrc指定了应该下载哪个文件夹。这些依赖关系在模块HTML中链接。

父项目使用package.json来管理节点依赖项。

为防止用户必须同时运行npm install(对于父依赖项)和cd modulebower installcd ../(对于模块依赖项),我添加了postinstall的{​​{1}}脚本:

package.json

请注意,我可以让Bower将模块的依赖项安装到"scripts": { "postinstall" : "./node_modules/.bin/bower install ./module/ --config.directory=\"./module/public/bower_components\"" } 中的唯一方法是在/module/public/bower_components脚本中明确说明directory

但是postinstall已经包含了这些信息,所以理想情况下,我想要制作这样的信息。 ./module/.bowerrc意识到这一点。这也可以使bower install更容易维护,package.json更便于携带。

我还尝试将Bower依赖关系和module脚本转移到我的模块的postinstall中,使用父{4}中的package.json挂钩{ {1}}在模块目录中运行postinstall。但这种方法以模块结束。依赖项被下载到父{q} package.json文件夹中。

有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:3)

Bower config使用以下优先顺序来解析构建的配置。

来自http://bower.io/docs/config/

的凉亭文档
  • CLI参数via --config
  • 环境变量
  • 位于当前工作目录中的本地.bowerrc
  • 所有.bowerrc文件向上目录树
  • .bowerrc文件位于用户的主文件夹(〜)
  • .bowerrc文件位于全局文件夹(/)

在您的情况下,您可以将.bowerrc文件放在与package.json相同的文件夹中,但配置前缀为module / public的所有属性以使您的设置正常工作。

我确实喜欢从package.json中的一个地方管理所有依赖项的想法。