问题标签 [bower]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
165255 浏览

node.js - 找不到 bower 命令

我试图在我的 Mac 上安装 twitter bower,我用

然后我试bower --help了一下,结果是bower command not found。这是为什么?

0 投票
4 回答
41059 浏览

javascript - 如何在 Bower 中注册本地 git 包?

如何在 bower 中注册本地 git 包?

我当前的component.json如下

但是,我还想添加一个我创建的包,C:/mypackage它是一个带有版本标记的 git 存储库。当我这样做bower install --save C:/mypackage时,它会正确地将其添加到项目中,但不会将其添加到我的 component.json 中。

我正在尝试bower register mypackage C:/mypackage,但它一直在给我

我究竟做错了什么?

0 投票
1 回答
2465 浏览

jquery - 何时使用 CDN 托管,何时不使用?

这个问题试图找出是否值得权衡 CDN 的好处以支持更有条理和有组织的供应商代码管理。


我知道建议使用 CDN 来提供像 jquery 这样的供应商库。

然而,我今天正在阅读关于凉亭的文章,这让我感到好奇。使用 bower,我可以以非常结构化的方式轻松管理我的应用程序的所有依赖项。我最终可以将它们打包在一个vendor.js文件中(使用 yeoman、brunch或简单的grunt),该文件将作为script标签中的 html 中的服务器。

然而,虽然这种方法可以让我的生活更轻松,但它的缺点是什么?我可以想到以下几点:

  • 我正在使用的许多库很可能已经缓存在用户的浏览器中。
  • 通过将它们全部放在一个vendor.js文件中,浏览器最终会缓存这个文件,但是每当我添加新的第三方依赖项时,即当我的供应商文件发生更改时,我就会开始面临问题。浏览器将不得不重新加载该文件(从而失去原始 vendor.sj 文件的缓存)

这么说吧,花时间将 html 中的依赖项作为<script>标签来管理,接缝以提供更好的性能/加载时间。

你觉得我的思维方式有问题吗?用 say 组织代码的好处是否bower足够令人信服?毕竟,它就像骨干。是的,对于小型应用程序来说,主干应用程序更重,它包含更多代码.. 但从开发人员的角度来看,这是值得的!

干杯(感谢让我重新编辑问题的评论!)

0 投票
1 回答
1517 浏览

git - Yeoman 安装和协作(例如通过 git)

我正在使用 yeoman 开始我的第一个严肃项目,但遇到了一个我无法从文档中弄清楚的问题。

我的新 webapp 使用 bootstrap-js 和 lodash 作为基础 javascript,所以我yeoman install ...为这两个库做了。这似乎已将两个库(加上 jquery)的整个 github 存储库克隆到两个components目录,一个在应用程序的根目录,一个在app目录中。

现在,我想将它提交到我的 git 存储库。显然,将依赖库的整个存储库放在我的存储库中是没有意义的。在最坏的情况下,我可以只放置组件目录中的 min.js 文件。但我想最好的办法是添加一个列出依赖项的文件,然后让其他编码人员使用 yeoman 在他们的机器上安装依赖项。

有没有办法做到这一点?似乎有一个package.json可能是放置它的地方,但是格式是什么?文档提到components.json了 Bower,但也不清楚如何使用它。

有任何想法吗?

0 投票
2 回答
1287 浏览

javascript - 为什么 bower 安装包两次?

当我使用 Yeoman(在幕后使用 Bower)安装软件包时,我看到 bower 将每个软件包安装了两次。

  • 项目根目录下的第一个components文件夹
  • 另一个内部app/components文件夹

例如,当我运行命令时yeoman install jquery

我的项目目录将如下所示

  • 为什么我对每个组件都有一个副本,我应该使用哪一个?
  • 我想最好的做法是从我的应用程序中引用这些组件,并且永远不要更改它们,以便我可以轻松更新它们,对吗?
0 投票
2 回答
441 浏览

javascript - Web 依赖管理器

我有2个项目。他们使用相同的 js/img 文件。当我在第一个项目中更改 js 内容时,我也应该在第二个项目中更改它。我想让它成为依赖。所以我deploy更改了我的本地存储库,然后转到 project1/project2,调用update并加载更改。

我曾尝试使用bower,但由于一些奇怪的行为,它不能满足我(它复制整个文件夹内容并忽略main中的部分component.json

如何在我的项目中实现正常的依赖管理?注意:我需要管理我的本地依赖项

0 投票
6 回答
215384 浏览

node.js - 如何更改 Bower 的默认组件文件夹?

我正在制作一个使用来自 twitter 的 bower 的新项目。我创建了一个component.json来维护我所有的依赖项,比如 jquery。然后我运行bower install它将所有内容安装在一个名为components. 但我需要将组件安装在不同的文件夹中,例如public/components.

我尝试将 components.json 编辑为:

或者:

如https://github.com/twitter/bower/pull/94所示,但它不起作用。

0 投票
1 回答
1286 浏览

javascript - 使用 RequireJS 优化器进行部分优化

我正在尝试使用 RequireJS 优化大量 javascript 文件,但我无法解决如何使用优化器正确构建脚本并以所需方式将它们加载到浏览器中。

虽然下面的描述相当具体,但我想很多其他人也遇到了同样的挑战。(或者他们在要求上做出了更明智的选择!)

我正在使用bower下载脚本目录,并且我想将这些脚本(或其中的一部分)包含在我的网页中。

此外,在测试时,我基本上不想让浏览器检索单独的 Bower 脚本。本地测试框架串行响应请求,所以这很慢。我想使用 RequireJS 优化器或其他方法将所有下载的 bower 脚本合并到一个文件中。

相比之下,我自己的代码被分解成一长串 Coffeescript 文件,我想使用RequireJS CS 插件为浏览器编译它们。

在开发时,我希望我的浏览器加载如下内容:

  • components.js
  • main.js
    • csmain.coffee
    • my_module.coffee

components.js将由 Bower 目录中的以下文件组成,components例如

  • jquery: jquery/jquery
  • jqueryui:
    • jquery-ui/ui/jquery.ui.core
    • jquery-ui/ui/jquery.ui.datepicker
  • 放大:
    • 放大/核心/amplify.core
    • 放大/请求/amplify.request
  • 引导程序:
    • 引导程序/js/引导程序转换
    • 引导程序/js/引导程序警报
    • 引导/js/引导按钮
    • 引导程序/js/引导程序轮播
    • bootstrap/js/bootstrap-collapse
  • lodash: lodash/lodash

在生产环境中,浏览器会加载一个文件,比如all.js.

所以我的问题是:如果我使用 RequireJS 进入浏览器main.js并构建脚本来实现部分和完全优化的构建。我在这个问题上花费了不成比例的时间,而且来自 RequireJS 的莫名其妙和神秘错误的数量非常长——以至于我无法识别出严重的禁止性问题。它似乎不是这项工作的工具,但我很乐意得到纠正。

我所拥有的优化脚本类似于以下内容(以 YAML 表示法):

似乎我希望解决的问题相当简单,但解决方案却没有出现。RequireJS,虽然很出色,但比我需要的要复杂得多。Almond.js是加载模块的替代方案 - 但问题在于缺乏替代的合适优化器。

我将不胜感激有关可以使用哪些选项r.js来实现上述目标的任何想法,或者可能存在哪些合适的替代优化解决方案。

0 投票
1 回答
999 浏览

github - 没有 component.json 的 Bower 组件

查看 Bower 上的可用组件,第一个存储库 ( accounting.js ) 似乎没有component.json-file。通读文档,这似乎是添加为 Bower 组件所必需的。

这怎么可能?


编辑:除了添加一个 component.json 文件,当你遵循semver-specification 时它也可以工作。情况似乎并非如此,因为根目录中有两个 JS 文件(accounting.js 和 accounting.min.js)。

0 投票
1 回答
698 浏览

yeoman - Yeoman 安装组件失败

当我执行yeoman install git://github.com/paperjs/paper.js.git时,它失败了。这是输出:

运行“凉亭:安装:git://github.com/paperjs/paper.js.git”(凉亭)

任务凉亭克隆 git://github.com/paperjs/paper.js.git 凉亭缓存

git://github.com/paperjs/paper.js.git bower 获取 paper.js bower

查看 paper.js#39f744de0c117e678b7c663dbf489c55def6f415 凉亭

复制

/Users/my-username/.bower/paper.js/58f9c1c5f33cae79df922c8fde57158c

GET https://bower.herokuapp.com/packages/canvas <FATAL>找不到画布</FATAL>

似乎它正在寻找一个不存在的“画布”模块。关于如何解决这个问题的任何想法?

它可能与 'cavas' 被定义为 中的依赖关系有关package.json,但该package.json文件适用于NPM