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如果它解决了这个问题,你能接受这个答案吗