如何在竖琴中包括凉亭组件

geo*_*org 15 javascript bower harp

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

在此输入图像描述

(高亮部分是在我的混帐,bower_componentswww应当在安装/编译创建).

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

@import "../../bower_components/some-component/stuff";
Run Code Online (Sandbox Code Playgroud)

但是什么是使用javascripts(或其他静态资产)的"正确"方式?当然,我可以简单地复制它们,例如

cp bower_components/some-jquery-plugin/plugin.js public/js/plugin.js
Run Code Online (Sandbox Code Playgroud)

这就是人们实际做的事情,但我正在寻找更好的东西.理想情况下,我想完全避免使用makefile/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...
Run Code Online (Sandbox Code Playgroud)

换句话说,我想以某种方式引用位于dir bower_components内部的静态资产public.Symlinking不是一个选项,因为harp compile不解析符号链接.

Gre*_*rdt 3

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

.bowerrc

{
  "directory": "public/js/bower"
  ...
}
Run Code Online (Sandbox Code Playgroud)

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

好处:这是您的快速“一行”.bowerrc

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