Установить компоненты Bower в два разных каталога?

При использовании компонентов CSS и JS возможно или даже имеет ли смысл устанавливать их в разные каталоги?

.
|-- app
    |-- scripts
        |-- components           # js components go here
            |-- backbone-amd
            |-- etc
    |-- styles
        |-- modules
        |-- partials
        |-- components           # sass components go here
            |-- normalize.scss
            |-- etc

Каков наиболее эффективный способ структурировать проект, организованный таким образом? Есть ли хорошая задача Grunt для достижения цели интеграции установленных Bower компонентов sass для среды разработки?


person Robb Schiller    schedule 16.04.2013    source источник
comment
Под компонентами js вы подразумеваете файлы CSS, предназначенные для определенных библиотек javascript?   -  person cimmanon    schedule 16.04.2013
comment
Нет, я имею в виду js-библиотеки, которые устанавливаются через bower.   -  person Robb Schiller    schedule 16.04.2013
comment
Я не вижу здесь проблемы. Если все файлы Sass находятся в одном месте, а сгенерированные файлы CSS — в другом, то не имеет значения, как вы все организуете.   -  person cimmanon    schedule 16.04.2013
comment
@cimmanon - в настоящее время я не знаю, как установить компоненты в два разных каталога через Bower. Я согласен, локализация поставщиков в каталоге их функции не кажется проблемой, но в файле .bowerrc нет известных мне спецификаций для определения путей установки для разных типов файлов.   -  person Robb Schiller    schedule 16.04.2013


Ответы (3)


Bower должен отслеживать каждый устанавливаемый вами компонент. Было бы очень сложно, если бы они были разделены на несколько мест. Для разработки Sass просто поместите папку компонентов в путь поиска Sass.


Существуют грубые задачи, которые могут помочь вам разделить их, если вы настаиваете на этом:

(хотя и не рекомендуется)

person Sindre Sorhus    schedule 17.04.2013
comment
Спасибо, Синдре, я не думал, что это возможно или действительно имеет смысл. Мне просто лучше в голове, когда файлы организованы таким образом. Ценю всю вашу тяжелую работу над Bower, Grunt и т. д., чувак! Спасибо за продвижение Интернета! - person Robb Schiller; 17.04.2013

Существует пакет node под названием bower-installer, который предоставляет единую команду для управления альтернативными путями установки. .

беги npm install -g bower-installer

Настройте файл bower.json

{
  "name" : "test",
  "version": "0.1",
  "dependencies" : {
    "jquery-ui" : "latest"
  },
  "install" : {
    "path" : {
      "css": "src/css",
      "js": "src/js"
    },
    "sources" : {
      "jquery-ui" : [
        "components/jquery-ui/ui/jquery-ui.custom.js",
        "components/jquery-ui/themes/start/jquery-ui.css"
      ]
    }
  }
}

Затем запустите команду bower-installer.

Это установит components/jquery-ui/themes/start/jquery-ui.css в ./src/css и т. д.

person lfender6445    schedule 16.02.2014

Возможно, у вас могут быть файлы .bowerrc в разных каталогах, где вы можете настроить ключ "directory", чтобы он указывал на каталог компонентов Bower.

Но вам нужно будет cd исправить каталог перед bower install whatever:

app/
  scripts/
    .bowerrc
  styles/
    .bowerrc
tests/
  .bowerrc
person Michael Vashchinsky    schedule 06.12.2013
comment
Это не сработает, поскольку Bower будет искать bower.json в вашем текущем рабочем каталоге. - person James Wright; 11.01.2015