15

我在 Harp 中有一个具有这个标准目录结构的项目:

在此处输入图像描述

(突出显示的部分在我的 git 中,bower_components应该www在安装/编译时创建)。

当我安装一个新的凉亭组件时,我可以轻松地将它的 css 包含在我的 Less 中,例如

@import "../../bower_components/some-component/stuff";

但是使用javascripts(或其他静态资产,就此而言)的“正确”方式是什么?当然,我可以简单地将它们复制过来,例如

cp bower_components/some-jquery-plugin/plugin.js public/js/plugin.js

这就是人们实际所做的,但我正在寻找更好的东西。理想情况下,我想完全避免 makefiles/gruntfiles 并且能够使用以下内容初始化我的项目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。符号链接不是一种选择,因为harp compile它不能解析符号链接。

4

1 回答 1

3

快速而肮脏的解决方案是调整.bowerrc设置以更改安装 Bower 组件的默认目录。

.bowerrc

{
  "directory": "public/js/bower"
  ...
}

现在一个bower install命令会将这些依赖项直接放到您的public/js/bower目录中。

好处:这是您的快速“单线”.bowerrc

缺点:这些依赖项的所有源文件都会公开部署,除非您有一个部署脚本来清理不必要的文件。再说一次,如果它们都是您正在使用的开源项目,那么这些额外的文件是否位于您的 Web 服务器上并不重要。

于 2015-03-17T15:08:10.310 回答