我在Harp中有一个这个标准目录结构的项目:
(突出显示的部分在我的git中,bower_components
和www
应该在安装/编译时创建。
当我安装一个新的bower组件时,我可以轻松地将其css包含在我的Less中,例如
@import "../../bower_components/some-component/stuff";
但是"对"是什么?使用javascripts(或其他静态资产)的方式?当然,我可以简单地复制它们,例如
cp bower_components/some-jquery-plugin/plugin.js public/js/plugin.js
这是what people actually do,但我正在寻找更好的东西。理想情况下,我希望完全避免使用makefile / grunt文件,并且能够使用bower install
初始化我的项目:
git clone myproject // this will create public/ and bower/harp.json
cd myproject
bower install // this populates bower_components
harp server/compile // just works...
换句话说,我想以某种方式引用位于bower_components
目录内public
内的静态资产。 Symlinking不是一个选项,因为harp compile
无法解析符号链接。
答案 0 :(得分:3)
快速而肮脏的解决方案是调整.bowerrc
设置以更改安装了bower组件的默认目录。
<强> .bowerrc 强>
{
"directory": "public/js/bower"
...
}
现在,bower install
命令会将这些依赖项直接删除到public/js/bower
目录中。
上行: .bowerrc
下行:除非您拥有清理不必要文件的部署脚本,否则这些依赖项的所有源文件都会公开部署。然后,如果它们都是您正在使用的开源项目,那么这些额外文件是否位于您的Web服务器上并不重要。