- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 bower
上遇到了一个复杂的架构问题.我正在构建一个在线平台,用户可以在其中使用包含 JS 代码的动态小部件创建页面。这些小部件有预定义的格式、描述、图标等,它们将打包成存档(如 apk 的、war 的、jar 的、ear 的,但带有前端代码)。当网站已部署时,用户将能够动态添加小部件。
我们正在使用 bower
问题如下:小部件也应该能够指定它们的 bower
依赖项。
简化的目录布局如下:
小部件上传后,bower.json 应该与其他小部件的所有 dep 合并,gulp build
将运行并重建整个东西。
如何将所有 bower.json 合并为一个?特别是当有两次相同的依赖时,例如一个小部件取决于 "jquery": "<=2.1.0"
另一个小部件取决于 "jquery": "^2.1.0"
.它们都是兼容的,但我应该在 bower.json 中写什么字符串?如果我写两个 bower 只使用第二个并将安装最新的 jquery - 2.1.1
这已经与第一个小部件不兼容。这是一个更简单的用例。
我们实际上可以假设不会有所有可能的 semver 规范变体,比如 <=
例如。我也可以强制小部件编写者使用我自己的依赖项规范,但我想不出如何设计它。
感谢任何帮助!
小部件依赖性解决方案的其他方法已被接受,但请注意:它们不能拥有自己的库版本,因为在运行时会加载多个小部件。例如,我不能同时拥有两个 jquery,因为两个小部件使用了上面示例中的规范。
UPD:我知道 RequireJS,而且我正在实际使用它。但是,首先,我需要下载依赖项本身,以便稍后将其与 RequreJS 一起使用。
最佳答案
解决方案如下:
每个小部件本身都是一个带有 bower.json 的 bower 包;项目的 bower.json 重命名为 bower-base.json 并且 bower.json 是从 bower-base.json 生成的,所有小部件都添加到 dependencies 属性。然后 Bower 自动处理小部件的依赖项。
关于javascript - 以自动方式合并多个 bower.json 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27114000/
我刚刚升级到Bower 1.0,做了一个bower install,发现了一堆新的.bower.json文件(注意前导时期)。 我在changelog或文档中没有找到对.bower.json的引用。我
Bower 的网站描述了 Bower.json 中的 ignore 键: ignore [array]: An array of paths not needed in production that
我已经在我的项目根目录中添加了一个 bower 包。我正在使用 bower,因此可以更轻松地管理每个组件的更新(bower 的功能之一)。但是我在安装后收到了这条消息: no-json No bowe
当我通过以下方式从 git repo 安装库时: bower install git@github.com:fabiantheblind/p5.js.git --save 该组件被克隆到我的 bowe
我已经为 Bower 设置了一个 Nexus 代理注册表。我正在使用 Debian 9。bower 版本是 1.8.8,安装了 bower-nexus3-resolver(版本 1.0.4)。我的 .
是否可能只有一个可以从 Bower“安装”的存储库? 目前我已经注册了一个连接到开发库的 bower 包,但是在运行时 bower install我只想要 dist要下载的文件。 我见过有人保留两个存
我正在尝试安装 https://github.com/aterrien/jQuery-Knob通过 bower 。在包的 bower.json 文件中,我看到: { "name": "aterrien
我正在尝试通过 bower 安装本地 Jquery ui。 我有一个名为 jquery-ui 的本地文件夹并运行了以下命令 bower install jquery-ui/jquery-ui.min.
我正在研究如何使用 bower 安装软件包。 当我 'bower install packagename' 时,软件包安装在/app/components/中。 但是,我想自己决定项目的结构。 有没有
$ bower install angular-animate --save bower cached git://github.com/angular/bower-angular-animate.g
我正在使用 bower 从下面的 bower.json 中查看依赖项,所以问题是我希望 bower 提供更新版本发布的依赖项报告但不安装它,对于使用 npm-check-updates for npm
一些库在其 Github 存储库中没有已经构建的 JavaScript 文件,因为这些库的作者反对保留构建工件(例如 Sinon.JS)。是否有使用 Bower 处理此问题的首选方法? 我知道我可以
我想运行我自己的 bower 服务器来开始跨团队共享几个内部模块。我很难找到运行您自己的服务器的信息。在 bower.io 网站上有这条线 N.B. To run your own Bower End
在 *nix 上,bower 使用 ~/.bower其缓存的文件夹(包等)。 我想将其更改为其他位置。 bower spec来自的文档建议我配置 storage输入我的.bowerrc . 我在我的项
我有一个项目依赖于另一个使用 Bower 的项目。我要 bower install当我在父项目上运行它时也运行在该组件上。到目前为止,我还没有在 configuration spec 中找到任何东西,
如何在不提供 bower.json 中的用户凭据的情况下将访问受限存储库作为依赖项添加到 bower.json? 即我想避免像这样指定它: { "dependencies": { "ang
Bower 文档说 N.B. If you aren't authoring a package that is intended to be consumed by others (e.g., yo
我正在下载 Angular、Angular-Bootstrap 和 Bootstrap with Bower。 Bootstrap 依赖于进程中安装的 jquery。但我的项目中不需要它,因为我只使用
我正在尝试为使用 Bower 的应用程序设置自动包构建。 postinstall中进入bower install时,bower提示: [?] May bower anonymously report
我想将特定分支的最新版本指定为依赖项。具体来说,我想在 Bootstrap v3.0 发布之前使用它。 将其指定为 Bower 中的依赖项的最佳方法是什么? 最佳答案 您需要使用#、appended
我是一名优秀的程序员,十分优秀!