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

Dependencies 调用bower install时指定.bowerrc的位置,dependencies,npm,bower,Dependencies,Npm,Bower,我有一个包含子模块的父项目。模块有自己的bower.json指定模块依赖项,以及.bowerrc指定应下载到哪个文件夹。这些依赖项在HTML模块中链接 父项目使用package.json来管理节点依赖关系 为了防止用户同时运行npm安装(对于父依赖项)和cd模块,bower安装,cd../(对于模块依赖项),我在package.json中添加了postinstall脚本: "scripts": { "postinstall" : "./node_modules/.bin/bower in

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

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

为了防止用户同时运行
npm安装
(对于父依赖项)和
cd模块
bower安装
cd../
(对于模块依赖项),我在
package.json
中添加了
postinstall
脚本:

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

但是,
/module/.bowerrc
已经包含此信息,因此理想情况下,我希望让
bower安装
知道这一点。这还将使
package.json
更易于维护,并且
module
更便于携带

我还尝试将Bower依赖项和
postinstall
脚本转移到模块的
package.json
,使用父模块的
package.json
中的
postinstall
钩子在模块目录中运行
npm install
。但这种方法以模块结束。正在将依赖项下载到父级的
节点\u模块
文件夹中


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

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

来自bower docs的

  • CLI参数通过--config
  • 环境变量
  • 位于当前工作目录中的Local.bowerrc
  • 目录树中的所有.bowerrc文件
  • .bowerrc文件位于用户的主文件夹(~)
  • .bowerrc文件位于全局文件夹(/)中
在您的情况下,您可以将.bowerrc文件放在与package.json相同的文件夹中,但可以使用前缀module/public配置所有属性,以使设置正常工作


我很喜欢您在package.json中从一个位置管理所有依赖项的想法。

为什么需要两个包管理器?也许你可以坚持npm?@GrimurD如果它解决了这个问题,你能接受这个答案吗