Почему два устройства устанавливают пакеты?
Когда я устанавливаю пакеты с помощью Yeoman (который за кулисами использует Bower), я вижу, что сабвуфер устанавливает каждый пакет дважды.
- первый в корне проекта в папке
components
- другая внутренняя папка
app/components
Так, например, когда я запускаю команду yeoman install jquery
мой каталог проекта будет выглядеть следующим образом
root-directory
|- app
. |- components
. . |- jquery // <<-- jquery
. . ... rest of the components
|- components
. |- jquery // <<-- jquery ... again
. ... same other components
- Почему у меня есть дубликат для каждого компонента, и какой из них я должен использовать?
- Я думаю, что лучшая практика заключается в том, чтобы ссылаться на эти компоненты из моего приложения и никогда не изменять их, чтобы я мог легко их обновить, я прав?
Ответы
Ответ 1
Это было сделано как временный хак из-за необходимости иметь компоненты в папке /app, так как у Bower не было способа указать каталог компонентов. Теперь это произойдет, и это будет исправлено очень скоро.
Вы можете следить за ошибкой здесь: https://github.com/yeoman/yeoman/issues/622
Ответ 2
Теперь это исправлено в 1.0 Beta of Yeoman. http://yeoman.io/road.html
Команда решила, что йомен должен просто выполнить настройку проекта и оставить фактическое построение и установку зависимостей, чтобы хрюкать и беседовать соответственно.
Это означает, что вы теперь выполняете:
$ yo init
... setup
$ npm install
... get node modules
$ bower install
... get bower components
$ grunt server
... run the server