Ответ 1
Где эти переменные получают из?
Запустив в целом, прочитайте пример Gruntfile, когда он начинает обращаться к синтаксису <%= variable %>
. Если вы новичок в Grunt, поместите эту страницу там, где есть вещи, которые сначала не кажутся важными, но будут полезны при повторном чтении.
В частности, да... это из генератора Йомена. Например, если я запускаю последний generator-angular, то полученный Gruntfile.js включает этот бит кода:
yeoman: {
// configurable paths
app: require('./bower.json').appPath || 'app',
dist: 'dist'
}
Итак, вы можете видеть, по крайней мере, из генератора, который я использовал, что <%= yeoman.app %>
будет по умолчанию для каталога с именем "app" и <%= yeoman.dist %>
будет указывать на "dist". Если бы я вставил весь Gruntfile созданный для меня генератор, вы также увидите, что они используются многими задачами, которые создают и тестируют приложение.
Как вы можете себе представить (и вы видите в примере Gruntfile), это не ограничивается только йоменом, поскольку является частью Grunt, поэтому вы можете использовать это для сохраните свой файл Gruntfile и DRY.
Можно ли переопределить эти переменные?
Да. Код, на который я ссылался выше, можно изменить так, чтобы app
и dist
указывали на разные местоположения. Выполнение этого с помощью приложения, созданного генератором йома, может привести к большей работе, чем того стоит. Весь смысл генераторов-йоменов - автоматизировать работу, поэтому вам не нужно возиться с этими вещами. Вы получаете настройку шаблона каждый раз, когда используете генератор.
... если вы не пишете собственный генератор или приложение с нуля и не "заимствуете" биты от генератора, а затем да, вы можете настроить их на то, что важно для вашего приложения.
Нужно ли иметь йоман, чтобы использовать эти конкретные переменные среды?
Нет, но я не вижу причин использовать имя "йоман", если вы строите приложение с нуля. Если вы используете приложение, созданное yoman, я не вижу причины его изменения.