Как включить компоненты акустики в арфе

У меня есть проект в Harp с этой стандартной структурой каталогов:

enter image description here

(выделенные части находятся в моих 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

и это то, что на самом деле делают люди, но я ищу что-то лучшее. В идеале, я бы хотел полностью избежать 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...

Другими словами, я хотел бы как-то ссылаться на статические активы, которые находятся в bower_components изнутри директории public. Symlinking не является опцией, потому что harp compile не разрешает символические ссылки.

Ответы

Ответ 1

Быстрое и грязное решение - настроить настройки .bowerrc, чтобы изменить каталог по умолчанию, на который установлены компоненты балансировки.

.bowerrc

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

Теперь команда bower install отключит эти зависимости непосредственно в вашем каталоге public/js/bower.

Поверхность: Это быстрый "однострочный" в вашем .bowerrc

Даунсайд:. Все исходные файлы для этих зависимостей становятся общедоступными, если у вас нет развертывания script, который очищает ненужные файлы. Опять же, если все они являются проектами с открытым исходным кодом, которые вы используете, то действительно не имеет значения, находятся ли эти дополнительные файлы на вашем веб-сервере.