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

标签 dependencies npm bower

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

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

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

"scripts": {
    "postinstall" : "./node_modules/.bin/bower install ./module/ --config.directory=\"./module/public/bower_components\""
}

请注意,我可以让 Bower 将模块的依赖项安装到 /module/public/bower_components 中的唯一方法是明确声明 directorypostinstall脚本。

然而./module/.bowerrc已经包含此信息,所以理想情况下我想“制作”bower install意识到这一点。这也会使 package.json更易于维护和module更便携。

我也尝试过转移 Bower 依赖和 postinstall脚本到我的模块的package.json , 使用 postinstall卡在 parent 的package.json运行 npm install在模块目录中。但是这种方法以模块结束。依赖项被下载到父级的 node_modules文件夹。

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

最佳答案

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

来自 http://bower.io/docs/config/ 的 Bower 文档

  • CLI 参数通过 --config
  • 环境变量
  • 位于当前工作目录的本地 .bowerrc
  • 目录树上的所有 .bowerrc 文件
  • .bowerrc 文件位于用户的主文件夹 (~)
  • .bowerrc 文件位于全局文件夹 (/)

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

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

    关于dependencies - 调用 bower install 时指定 .bowerrc 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28865437/

    相关文章:

    dependencies - SCons 依赖于编译时生成的文件

    java - Java Maven 项目中的库版本冲突

    maven - 如何强制分类器依赖传递依赖?

    node.js - 安装 Node 包而不重新启动 docker compose

    ruby-on-rails - 源不包含任何版本的'rails-assets-lodash (~> 2.4)

    proxy - Bower 代理配置

    Eclipse RCP 插件错误 - 无法解析模块

    npm - NPM:ENOENT:没有此类文件或目录,请重命名

    node.js - 如果此任务在该文件更改时启动,如何运行任务(更改文件)并避免循环

    bower - 为什么 bower 安装 github/repo 不会克隆我的 bower.json?