Как сгенерировать ваши классы в определенной папке с помощью Angula2 CLI?
Я обычно генерирую классы с помощью angular 2 cli со следующей командой:
ng g class todo
Как я могу сказать cli для создания классов в определенной папке, например, в папке с образцами.
В документации есть пример, где они генерируют компонент в определенной папке, но я не имел успеха с вариантом класса
Я пробовал следующие параметры:
ng g class models/todo
ng g class ../models todo
ng g class models todo
Они приводят к ошибке, что путь недействителен, что заставляет меня думать, что опция поддерживается, но я не могу понять это, или в случае последнего объединяет имя предполагаемой папки с именем класса.
Ответы
Ответ 1
Сгенерированные элементы для CLI Angular являются относительными...
если вы находитесь в корневом каталоге (или исходном каталоге), вы, как предполагается, находитесь в приложении dir...
~/me/foo > ng g c bar
// ~/me/foo/src/app/bar/bar.component*
~/me/foo/src > ng g c bar
// ~/me/foo/src/app/bar/bar.component*
если вы находитесь в каталоге приложения или дальше по структуре папок, которые вы создадите, где вы находитесь...
~/me/foo/src/app/feature > ng g c bar
// ~/me/foo/src/app/feature/bar/bar.component*
~/me/foo/src/app/feature > ng g c ../bar
// ~/me/foo/src/app/bar/bar.component*
Примечание: если вы пытаетесь сгенерировать в директорию, которая не существует, она будет ошибкой...
~/me/foo/src/app > ng g c a/b/c/d/e/f/g/bar
// Error
Ответ 2
Чтобы создать компонент todo внутри папки моделей в вашем проекте, просто убедитесь, что вы находитесь в корневой папке проекта и введите:
ng g c/models/todo
Кроме того, если вы хотите указать имя файла объявляющего модуля, вы можете использовать опцию -m.
Например, если у вас есть модуль моделей и вы хотите обновить этот модуль для объявления нового компонента todo:
ng g c/models/todo -m model
Привет
Ответ 3
ng generate component my-new-component
ng g component my-new-component # using the alias
компоненты поддерживают относительное формирование пути
если в каталоге src/app/feature/
и вы запустите
ng g component new-cmp
ваш компонент будет сгенерирован в src/app/feature/new-cmp
но если вы запустите
ng g component ../newer-cmp
ваш компонент будет сгенерирован в src/app/newer-cmp
который также работает для классов
check: Github angular -cli
Ответ 4
ng g cl model/UserInfo
works fine in angular5
Ответ 5
добавив к Картикеяну Карунанити простой ответ,
ng g i model/UserInfo
отлично работает, если вы хотите интерфейс...