Bower的documentation section on "Consuming a package"说:
Bower还提供源映射。构建工具可以使用它来轻松使用Bower软件包。
然后它举例说明了您可以使用简单命令输出的JSON:
{
"backbone": "bower_components/backbone/index.js",
"jquery": "bower_components/jquery/index.js",
"underscore": "bower_components/underscore/index.js"
}
我明白这里发生了什么......但我真的不明白它的用途,即如何使用它。
我无法找到使用这种源地图的人的例子,而且我不太清楚Bower文档的建议。我想知道如何这个Bower生成的JSON可以被构建工具用来轻松地使用包。
有人知道吗?有没有人这样做过或看过它?
答案 0 :(得分:2)
使用list --paths选项并查看映射是用于构建工具的主要用途之一(至少据我所知) - 正如文档建议的那样。如果他们举了一个例子就好了,但我可以在这里。
所以说你正在使用Bower来管理前端依赖,但你正在使用Grunt来构建你的站点/应用程序。你如何调和这两个? Bower在默认的根目录中安装依赖项,例如'app / _bower_components / packageName /',即你永远不想在生产或甚至开发中使用的路径,因为它很笨拙,可能会引用一个未缩小版本的包/库JS
Grunt拥有像'uglify'这样的任务,它可以获取给定的JS文件并将其缩小并缩小到更小的尺寸,对生产站点非常有用。在Grunt中,您可以编写如下任务:
uglify: {
modernizr: {
files: {
'javascripts/modernizr.min.js': 'app/_bower_components/modernizr/modernizr.js'
}
}
这使用第二个参数中提供的Bower映射(即指向Bower源)并将uglified输出输出到第一个参数(在本例中为javascripts / modernizr.min.js)以用于生产目的。
从这个意义上说,你的构建工具Grunt'消耗'你的Bower包和副本&将它们用于您的网站。这样,只要您的Uglify任务具有正确的路径,您就可以使用Bower更新/管理您的依赖项,并且您不会直接编辑源。因此,如果有一个新版本的JQuery,你只需通过Bower更新它,不需要做任何其他事情;没有手动复制,没有编辑。